从列表中获取ID

时间:2017-01-10 15:01:46

标签: c# linq linq-to-sql

我获得了List<string>中保留的客户ID列表。 然后我从我的数据库中检索客户List<Customer>

我想得到一个客户ID列表,它不在我的数据库中,但在客户字符串列表中,所以我可以删除它们。所以

如果List<string> ThirdpartyList有数据:

Record 1: 1234
Record 2: 1235
Record 3: 1236
Record 4: 1237

和我的db list List<Customer> CustsFromDatabase有

Record 1: 1234
Record 2: 2345
Record 3: 2346
Record 4: 1237

返回的列表应为

1235
1236

因为不再需要这些记录。我尝试过LINQ Except方法和Any方法,但没有得到我需要的结果。

1 个答案:

答案 0 :(得分:0)

如果您的Id是字符串,请使用以下方式获取ID:

var idsToDelete = ThirdpartyList.Where(s=>!CustsFromDatabase.Any(x=>x.Id == s))

否则,你应该比较字符串

x.Id.ToString() == s

如果有人贬低,解释了什么是错的,我可以改进我的答案。