私はC#とEFにはかなり新しく、次の質問に対する回答を見つけることができませんでした。Linq linq-to-entitiesは、条件が満たされた場合に結合を追加します。
私は同じモデルの異なるテーブルに行くいくつかの "オプションのクエリ"と "メインクエリ" query1に参加したい、どのように達成するはずですか?
私が参加()メソッドを使用しようとすると、それは限り、私はこれを行うように動作します:
var query = query1.Join(query2 [...]);
をしかし
query = query1;
if (condition_is_met)
{
query = query.Join(query2 [...]);
}
ような何かをしようとしたとき、私はエラー
を受け取ります'
System.Linq.IQueryable<AnonymousType#1>
'を暗黙的に 'System.Collections.Generic.IEnumerable<someentity>
'に変換することはできません。明示的な変換が存在します(キャストがありませんか?)
このエラーを回避するにはどうすればよいですか?条件が満たされた場合に実際に結合を追加する方法はありますか?
ご質問ありがとうございました。申し訳ありません。
投稿したコードはコンパイルされますが、 'Join()'は何もしません。あなたは 'query = query.Join(...)'を意味しましたか? – svick
おっと、もちろん、ありがとう...私は少し疲れています;) – Seb