List<T>
。!string.IsNullOrEmpty()
非常简单。我想根据非正式密钥找到listA中不在listB中的记录。然后,我想根据部分密钥匹配进一步细化listA结果。
问题的SQL版本:
select
listA.fieldA, listA.fieldB, matching.fieldC
from listA
left join listB keyList on
listA.fieldA = keyList.fieldA and
listA.fieldB = keyList.fieldB and
listA.fieldC = keyList.fieldC
inner join listB matching on
listA.fieldA = matching.fieldA and
listA.fieldB = matching.fieldB
where
keyList.fieldA is null
答案 0 :(得分:2)
SQL to LINQ ( Case 7 - Filter data by using IN and NOT IN clause)
注意: IN和NOT IN在LINQ查询中使用相同的函数,但它只是使用了! (不)符号。这是图形表示:
您使用where <list>.Contains( <item> )
var myProducts = from p in db.Products
where productList.Contains(p.ProductID)
select p;
或者您可以预定义列表:
var ids = {1, 2, 3};
var query = from item in context.items
where ids.Contains( item.id )
select item;
对于&#39; NOT&#39;案例,只需添加&#39;!&#39;在&#39;包含&#39;之前的运算符言。