2016-11-14 123 views
0

我使用實體框架4.3包括收集收集實體框架

我有3個表,貸款人,產品和產品詳情

貸款人擁有多個產品,並且產品有多個產品詳情行

這裏有一段代碼,我試圖使用方法:

Lender SingleOrDefault(Expression<Func<Lender, bool>> predicate) 
    { 
     using (var uow = new UnitOfWork(Connections.LoanComparision)) 
     { 
      var r = new Repository<Lender>(uow.Context); 

      return r.Find(predicate) 
       .Where(x => 
        x.IsPublished && 
        x.Products.Any(y => y.IsPublished)) 
       .Include(x => x.Products.SelectMany(y => y.ProductDetails)) 
       .SingleOrDefault(); 
     } 
    } 

的問題是與包括 - 我試圖讓貸款人=>產品展示=> PROD uctDetails。即使我知道它正確鏈接,我也無法在intellisense中查看錶格。我認爲SelectMany可能會工作,但它給我一個運行時錯誤。

有關如何實現這一點的任何想法?

+0

'.INCLUDE(X => x.Products.Select(Y => y.ProductDetails))'會工作的意見指出你應該做的選擇 – Developer

+0

感謝這個傢伙 - 作品。如果有人想要創建答案,我會授予積分。 –

回答

1

你做selectmany然而它是爲平坦list of listlist

要包括有關名單中,如在由開發者用戶注意

Include(x => x.Products.Select(y => y.ProductDetails))