[英]Easiest way of comparing two lists in C# with LINQ and adding missing items to Entity Class
我的C#應用程序中有兩個列表,如下所示(名稱):
- prepared
- DBList
類型TransactionDetails的准備列表包含缺少的項目,我需要在DBList中添加這些項目。
因此,例如,如果我在准備好的列表中有這些項目,如下所示:
TransactionID
1
2
3
4
5
6
7
8
9
我的DBList有:
TransactionID
1
2
3
4
5
6
我想比較這兩個列表,找到不在DBList中的匹配TransactionID,然后將它們添加到DBList。 之后,我將清除准備好的列表並將更改保存在數據庫中;
這是我到目前為止所做的:
var newList = prepared.Intersect(DBList).ToList();
prepared.Clear();
ctx.EbayUserTransactions.AddRange(newList);
ctx.SaveChanges();
但是由於某種原因,newList列表始終為空。如何正確執行此操作?
編輯,DBList項的輸出為:
TransactionID
1
2
3
4
5
6
7
8
9
您可以使用LINQ:
DBList.AddRange(prepared.Where((i) => DBList.FindIndex((el) => el.Transaction.ID == i.TransactionID) == -1));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.