2012-04-13 9 views
1

私はLinq to Entitiesを使用しています。データを取得するためにデータベースを1回呼び出すだけです。オブジェクトのリストにオブジェクトのリストがあるオブジェクトLinq to Entities

私は、複数の企業を関連付けることができる勘定科目オブジェクトを持っています。そして、各企業は多くの場所を持つことができます。私は問題のない企業のリストを持つアカウントを得ることができます。問題は、各会社の場所のリストを取得し、すべてをAccount Objectに戻すことです。ここに私のコードは、これまでです:

public Account GetAccountByUserId(int userId) 
    { 
     IQueryable<Account> oq = _context.Accounts; 

     oq = oq.Include(x => x.Companies); 

     oq = oq.Include(x => x.Companies.SelectMany(l => l.Locations); //I was just guessing here, this throws the error below 

     Account acct = oq.Single(x => x.Users.Any(y => y.Id == userId)); 
     return acct; 
    } 

エラー.SelectMany例外: インクルードパス式はタイプに定義されたナビゲーションプロパティを参照する必要があります。参照ナビゲーションプロパティには点線のパスを使用し、コレクションナビゲーションプロパティにはSelect演算子を使用します。 パラメータ名:パス

これは、.Include()では不可能かもしれませんが、別の方法がありますか?私は本当にデータベースへの呼び出しを1回だけしたいと思います。

_context.Accounts.Include("Companies.Locations"); 
+0

と何が間違っている: –

+0

申し訳ありませんが、私はオリジナルの投稿を編集しました – user962926

答えて

1

はあなただけで、このような企業や場所など、試したことがありますか?クエリがクラッシュしています。エラーがあります。結果が得られません。
+0

パーフェクト!ありがとうございました! – user962926