我试图建立与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