实体框架4.3渴望零对多加载

本文关键字:加载 渴望 框架 实体 | 更新日期: 2023-09-27 18:28:35

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

[Invoice]
-PK:ID
-...
[InvoiceDetail]
-PK:ID
-FK:Invoice_ID
-...

我的C#对象看起来像这样:

[Invoice]
public virtual IEnumerable<InvoiceDetail> InvoiceDetails { get; set; }
...
[InvoiceDetail]
...

当我尝试使用:

MyDbContext.Invoices.Where(inv => inv.Id == 1).Include("InvoiceDetails").FirstOrDefault();
//or
MyDbContext.Invoices.Include("InvoiceDetails").Single(inv => inv.Id == 1);

我有一个例外:

指定的Include路径无效。EntityType"DataAccessLayer.Database.Invoice"未声明名为"InvoiceDetails"的导航属性。

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

有人知道我该怎么做这种零对多的关系吗?

实体框架4.3渴望零对多加载

我想您应该使用ICollection<InvoiceDetail>