2016-11-14 10 views
0

のコレクションのコレクションを含め、私は3つのテーブル、貸し手、製品およびProductDetailを持って私はEntity Frameworkの4.3</p> <p>を使用しているエンティティにフレームワーク

貸し手は、複数の製品を持っており、製品は複数のProductDetail行を持っている

ここ

は、私が使用しようとしているコードの塊です:

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(); 
     } 
    } 

問題がインクルードしている - I貸し手を取得しようとしている=>製品=>のProd詳細私はそれが正しくリンクされていることを知っているが、私はintellisenseでテーブルを見ることができません。私はSelectManyが動作するかもしれないと思ったが、それは私にランタイムエラーを与える。

どのように達成することができますか?

+0

'.INCLUDE(=> y.ProductDetailsのx => x.Products.Select(Y))'動作する開発者、ユーザーが指摘したコメントで述べたように、あなたが選択すればいいの関連リストを含めるには、 – Developer

+0

この人に感謝します。誰かが答えを作りたいと思ったら、私はポイントを与えます。 –

答えて

1

selectmanyただし、フラット化の場合はlist of listlistです。

Include(x => x.Products.Select(y => y.ProductDetails)) 
関連する問題