私はアプリケーションでlinqを使用しています。クエリにはいくつかの条件があります.Where(a => !one || a.id == 1)
。複数の条件linq
bool one = false;
bool two = false;
bool three = false;
db.type.Where(w => !one|| w.id == 1).Where(w => !two || w.id == 2).Where(w => !three || w.id == 3).ToList()
しかし、このクエリは結果私を与える:
db.type.Where(w => w.id == 1 &&
w.id == 2 &&
w.id == 3)
私が取得したい:
db.type.Where(w => w.id == 1 ||
w.id == 2 ||
w.id == 3)
は私を助けてください。どうすればこの問題を解決できますか?あなたはどこ述語内のIDをor
する必要がある場合は
複数の 'Where'を連鎖することは、使用される基準の' &&'を用いて 'Where'と単一のものに等価です。私はあなたがこの技術で '||'をシミュレートすることができないことが分かると思います。 –
@IvanStoev私はこれを他の手法で修正できますか? – ukrainianDev
サンプルの入出力データを入力してください。変数 'one'とid'1'の間には関係がありますか? – RePierre