私はEFとLINQ to EFを学習しています。私たちはLINQ式ではなくLINQ式を使用しています。Entity Framework単純LINQメソッドを使用したNavigationPropertyによるフィルタ
私は2つのエンティティから非常に単純なクエリを実行しようとしています。
NavigationGroupは、NavigationGroupLocationと1対多の関係です。 NavigationGroupのナビゲーションプロパティは、このコードは動作するはずです私の心の中で「NavigationGroupLocations」
と呼ばれている:
List<NavigationGroup> groups = db.DataModel.NavigationGroups.Where(g => g.NavigationGroupLocations.Location == 1).ToList();
場所は私のNavigationGroupLocationエンティティのintです。
これが機能しない理由と、ナビゲーションプロパティでフィルタリングする適切な方法を説明できる人はいますか?私は式構文で多くの例を見てきましたが、それをメソッド構文に関連付けることはできません。
私は助けを求める4.
おかげで、C#4 & EFを使用しています!
EDIT
私は私のナビゲーションプロパティコレクションですので、私は、個々のプロパティを取得することができないことがわかります。私は何をしているべきである
Cannot implicitly convert type 'System.Linq.IQueryable<ME.Data.ECom.NavigationGroup>' to 'System.Data.Objects.ObjectSet<ME.Data.ECom.NavigationGroup>'. An explicit conversion exists (are you missing a cast?)
:私は、私はこのエラーを取得し、それを実行しようとすると
.Where(g => g.NavigationGroupLocations.Any(l => l.Location == 1));
:だから私はこのコードをしようとしていますか?
linqメソッドの構文でどのように結合するのですか?私の編集を見て、.Any()を使って正しい方向に向かっているかどうか確認できますか? – Jared