異なるタイプの 2 つのコレクションがあります。
// First Collection
public class ObjectA
{
public IEnumerable<SomeObject> Persons { get; set; }
public IEnumerable<SomeOtherObject> Items { get; set; }
}
public class SomeObject
{
public string ID { get; set; }
}
public class SomeOtherObject
{
public string ID { get; set; }
}
// Second Collection (ID property holds unique values, PersonID and EntityID do not)
public class ObjectB
{
public string ID { get; set; }
public string PersonID { get; set; }
public string EntityID{ get; set; }
}
// Assuming the following entries...
var list1 = new ObjectA();
var persons = new List<SomeObject>();
persons.Add(new SomeObject() { ID = "A" });
persons.Add(new SomeObject() { ID = "B" });
persons.Add(new SomeObject() { ID = "C" });
list1.Persons = persons;
var items = new List<SomeOtherObject>();
items.Add(new SomeOtherObject() { ID = "1" });
items.Add(new SomeOtherObject() { ID = "2" });
list1.Items = items;
var list2 = new List<ObjectB>();
list2.Add(new ObjectB() { ID = "1", PersonID = "C", EntityID = "1" });
list2.Add(new ObjectB() { ID = "2", PersonID = "A", EntityID = "1" });
list2.Add(new ObjectB() { ID = "3", PersonID = "A", EntityID = "2" });
list2.Add(new ObjectB() { ID = "4", PersonID = "B", EntityID = "1" });
list2.Add(new ObjectB() { ID = "5", PersonID = "B", EntityID = "2" });
これら 2 つのリスト (list1 と list2) が与えられます。PersonID = A AND B AND EntityID = 1 AND 2 のリスト 2 のアイテムを見つける方法
つまり、すべての条件が満たされている必要があるため、「人物 C」は EntityID = 「1」と「2」の両方ではなく「1」のみを持っているため、「人物 C」は成功しません。