2012-03-26 18 views
4

エンティティへのLINQに含めますPostTags、PostXTagsの間条件は、私はこれは本当に基本的なテーブル構造を持っている

すべての投稿をタグで取得する必要があります。

PostTagsにtypeという名前のフィールドがあり、そのフィールドにフィルタが必要です。 includのすべての条件にこのエラーが発生します。

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

Public IQueryable<Post> GetPosts() 
    { 
     return from p in _db.Posts 
       select p; 
    } 

    var posts = GetPosts().Include(p => p.PostXTags.Select(pxt => pxt.PostTag).Where(pt=>pt.Type == 2)).ToList(); 
+0

のですか?例外?エラー?間違った結果ですか? –

答えて

6

私はあなたが達成しようとしているものだと思うが間違って起こっている

var posts = _db.Posts.Include("PostXTags.PostTag"). 
    Where(p => p.PostXTags.Any(pxt => pxt.PostTags.Any(pt => pt.Type == 2))); 
関連する問題