2016-11-14 125 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))