У меня есть два списка в моем приложении C#, как следующее (имена):Самый простой способ сравнения двух списков в C# с помощью LINQ и добавления недостающих элементов для класса сущностей
- prepared
- DBList
Список prepard из TransactionDetails типа содержит недостающие элементы которые мне нужно добавить в DBList.
Так, например, если у меня есть эти пункты в подготовленном списке, как следующие:
TransactionID
1
2
3
4
5
6
7
8
9
И мой DBList имеет:
TransactionID
1
2
3
4
5
6
Я хочу, чтобы сравнить эти два списка, найти соответствующие TransactionIDs, которые а не в DBList, а затем добавить их в DBList. После этого я очищу подготовленный список и сохраню изменения в БД;
Это то, что я сделал до сих пор:
var newList = prepared.Intersect(DBList).ToList();
prepared.Clear();
ctx.EbayUserTransactions.AddRange(newList);
ctx.SaveChanges();
Но список NewList всегда пусто по какой-то причине .. Как я могу сделать это правильно?
Edit, выход DBList элементов будет:
TransactionID
1
2
3
4
5
6
7
8
9
Вы пробовали 'prepared.Except (DBList) .ToList()'? Использует ли DBList IEnumerable? –
@ MatteoMarciano-MSCP Да, но как метод Except знает, какой атрибут сравнивать в двух списках ... Атрибут, с которым я их сравниваю, - TransactionID – User987
Не имел большого представления о форме вашего класса –