實體框架嵌套複雜類型

ef-database-first entity-framework entity-framework-6

我有一個存儲過程,返回多個結果集。每一個都是複雜的類型。第一個結果集將包含與第二個結果集等相同複雜類型的項目列表。這些項目與特定實體不完全相關。例如,我的POCO課程應該是

public partial class Message
{
    public string Subject { get; set; }
    ...
    public List<Recipient> Recipients { get; set; }
}

public partial class Recipient
{
    public string Email { get; set; }
    ...
}

根據文檔,對於EF 6,“實體和復雜類型現在可以嵌套在類中”。但是,我無法弄清楚如何在我的第一個複雜類型中創建複雜類型的LIST。當我編輯我的FunctionImport並使用獲取列信息時,它只返回第一個複雜類型。當我嘗試創建新的複雜類型時,它仍然只返回第一個複雜類型。最後,我手動創建了我需要的所有復雜類型,並嘗試將Recipient複雜類型添加到Message複雜類型,它只允許添加一個Recipient。嵌套複雜類型需要做些什麼特別的事情嗎?那裡有什麼例子嗎?我在CodePlex上找不到任何解決這個問題的東西,但我可能只是錯過了它。

在此先感謝您的幫助!

一般承認的答案

在我看來,嵌套是指將一個類聲明放入另一個類聲明中:

public class A {
    public class B { }
}

在EF的早期版本中,B類既不能作為實體也不能複合映射,而在EF6中則可以。這是與此功能相關的嵌套的唯一含義。

當涉及到您的問題時,您仍然無法映射複雜類型的列表。如果需要列表,則需要使用實體(父項和子項)。




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因