我試圖建立與C#和EF6查詢應該是這個樣子:LINQ哪裏...而不是
SELECT * FROM MyTable
WHERE (State = 'Active')
AND NOT (ItemId = 3 AND Field = 'some text')
AND NOT (ItemId = 7 AND Field = 'some other text')
第一個條件常是國家=「活躍」和下列條件可能會出現好幾次。 如果我以下面的方式嘗試它,我不會從上面獲得使用SQL查詢獲得的記錄。
var records = db.MyTable.Where(x => x.State == "Active");
foreach (var ignoreItem in ignoreList)
{
records = records.Where(x => x.ItemId != ignoreItem.ItemId && x.Field != ignoreItem.FieldText);
}
'&&'應該是'||',但是你爲什麼不使用和SQL一樣的語句?'(...)' –
我不知道我可以使用Where(x =>! (.....));謝謝 – Skuami