私はLINQクエリ(または同じことを達成するための他の効率的な手段)で立ち往生しています。別のリストに存在しない、あるリスト内のすべての項目を選択する方法を教えてもらえますか?
基本的に、他の 2 つのリスト間でアイテムを照合して作成したリストがあります。一致するものが見つからなかった最初のリスト内のすべてのアイテムを見つける必要があります。以下の 2 番目の LINQ クエリの星を、この目標を達成するクエリで埋めることができますか? もし私が TSQL を使っていたら、そうするでしょうがSELECT * NOT IN ()
、LINQ ではそれができないと思います。
//Create some sample lists.
List<IdentifierLookupData> list1 = new List<IdentifierLookupData> { /*Init */ };
List<IdentifierLookupData> list2 = new List<IdentifierLookupData> { /*Init */ };
//Find all items in list1 and list2 that match and store them in joinItems.
var joinItems = (from d1 in list1
join d2 in list2 on d1 equals d2
select d1).ToList<IdentiferLookupData>();
//Find all items in list1 not in joinItems.
var deletedItems = (from d1 in list1
***select all items not found in joinItems list.***