結合してEntity Frameworkに含める

.net c# entity-framework linq sql

質問

私は実体に対するlinqの以下の質問をします。問題は、「タグ」の関係がロードされていないように見えることです。私はタグに参加していないがそれをする必要がある場合それはうまく動作します。

            var items = from i in db.Items.Include("Tags")
                        from t in i.Tags
                        where t.Text == text
                        orderby i.CreatedDate descending
                        select i;

この質問をする他の方法はありますか?多分それを分割するか何か?

受け入れられた回答

まあ、インクルードはどこに矛盾します。 「すべてのタグを読み込む」と言ってください。 「どこかのタグをロードする」と書かれています。クエリとインクルードの間に矛盾がある場合、クエリは常に勝ちます。

少なくとも 1つのタグ== textを持つ任意の項目からすべてのタグを返すに 、次のようにします。

        var items = from i in db.Items.Include("Tags")
                    where i.Tags.Any(t => t.Text == text)
                    orderby i.CreatedDate descending
                    select i;

(私はあなたのDB /モデルを持っていないので、テストされていません)

これはLINQに関する本当に良い、無料の本です。



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ