0

У меня есть база данных, которая выглядеть следующим образом:Entity Framework 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); 

у меня есть исключение:

Указанный путь Include недействителен. EntityType «DataAccessLayer.Database.Invoice» не объявляет свойство навигации с именем «InvoiceDetails».

Я не понимаю, почему он ищет «DataAccessLayer.Database.Invoice», который не имеет своей модели там. Я также не понимаю «свойство навигации», потому что я использую объект Poco (сначала код).

Кто-нибудь знает, как я могу сделать это для многих отношений?

ответ

1

Я думаю, вы хотите использовать ICollection<InvoiceDetail> вместо этого.

+0

+1 Nice catch. Я не создал класс, и я не понимаю, что виртуальный метод возвращал IEnumerator вместо ICollection. –

Смежные вопросы