簡體   English   中英

比較C#和LINQ中的兩個列表並將缺少的項目添加到實體類的最簡單方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM