C# 实体框架4.3从零到多的加载

C# 实体框架4.3从零到多的加载,c#,entity-framework,entity-framework-4,entity-framework-4.3,C#,Entity Framework,Entity Framework 4,Entity Framework 4.3,我有一个如下所示的数据库: [Invoice] -PK:ID -... [InvoiceDetail] -PK:ID -FK:Invoice_ID -... [Invoice] public virtual IEnumerable<InvoiceDetail> InvoiceDetails { get; set; } ... [InvoiceDetail] ... 我的C#对象如下所示: [Invoice] -PK:ID -... [InvoiceDetail] -PK:I

我有一个如下所示的数据库:

[Invoice]
-PK:ID
-...

[InvoiceDetail]
-PK:ID
-FK:Invoice_ID
-...
[Invoice]
public virtual IEnumerable<InvoiceDetail> InvoiceDetails { get; set; }
...

[InvoiceDetail]
...
我的C#对象如下所示:

[Invoice]
-PK:ID
-...

[InvoiceDetail]
-PK:ID
-FK:Invoice_ID
-...
[Invoice]
public virtual IEnumerable<InvoiceDetail> InvoiceDetails { get; set; }
...

[InvoiceDetail]
...
我有一个例外:

指定的包含路径无效。实体类型 “DataAccessLayer.Database.Invoice”未声明 名为“InvoiceDetails”的导航属性

我不明白为什么它会搜索“DataAccessLayer.Database.Invoice”,因为它没有它的模型。我也不理解“导航属性”,因为我使用的是Poco对象(代码优先)


有人知道我如何处理这种零对多关系吗?

我想你应该用
ICollection
来代替。

+1个好主意。我还没有创建这个类,也没有意识到虚拟方法返回的是IEnumerator而不是ICollection。