0
我有一個數據庫,它是這樣的:實體框架4.3預先加載零到多個
[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);
我有一個例外:
指定的包含路徑無效。 「實體類型」 「DataAccessLayer.Database.Invoice」未聲明名爲「InvoiceDetails」的 導航屬性。
我不明白爲什麼它搜索'DataAccessLayer.Database.Invoice'哪裏沒有它的模型。我也不理解「導航屬性」,因爲我使用的是Poco對象(代碼優先)。
任何人都知道我怎麼能做到這一點零對多的關係?
+1不錯。我還沒有創建類,我還沒有意識到虛擬方法正在返回一個IEnumerator而不是ICollection。 – 2012-03-20 14:05:32