我有两个具有Item ID的表,我正在尝试获取一个而不是另一个存在的ID列表。
这是我到目前为止所做的。
var misMathcedID = (from a in TableA
join b in TableB
on a.ItemNumber equals b.ItemNumber
where b.ItemNumber == null
select a).ToList();
答案 0 :(得分:2)
尝试类似的东西。
var infoQuery = (from a in TableA
select a.id).Except(from b in tableB select b.id)
答案 1 :(得分:1)
如果它们只是Ids的表格,你可以做Except
var result = TableA.Except(TableB);
答案 2 :(得分:0)
您可以编写一个扩展方法并使用它来获取一个列表中存在但不存在另一个列表的值:
public static class Extensions
{
public static bool NotIn<T>(this T item, IList<T> list)
{
return !list.Contains(item);
}
}
//Example:
List<int> listA = new List<int> { 1, 2, 3, 4, 5 };
List<int> listB = new List<int> { 3, 5, 7, 8 };
var result = listA.Where(x => x.NotIn(listB));
//Output: 1, 2, 4