목록이 있고 동일한 ID 필드가있는 SomeObject의 하위 목록을 병합하려면 어떻게해야합니까?C# 상위 수준의 하위 개체 목록 병합 개체 목록
public class SomeObject
{
public string Name { get; set; }
public int Id { get; set; }
public List<KeyPair> ValuePairs {get;set;}
}
public class KeyPair
{
public string Key { get; set; }
public string Value { get; set; }
}
그리고 이것은 모의 목록의 샘플 창조 : 다음은 예를 들어 객체는
List<SomeObject> objects = new List<SomeObject>();
objects = new List<SomeObject>()
{
new SomeObject
{
Name="Rando Object 1",
Id=5,
ValuePairs=new List<KeyPair>()
{
new KeyPair
{
Key="TestKey1",
Value="TestValue1"
},
new KeyPair
{
Key="TestKey2",
Value="TestValue2"
}
}
},
new SomeObject
{
Name="Rando Object 2",
Id=5,
ValuePairs=new List<KeyPair>()
{
new KeyPair
{
Key="TestKey3",
Value="TestValue3"
},
new KeyPair
{
Key="TestKey4",
Value="TestValue4"
}
}
}
};
당신이 SomeObject의 새로운 목록을 생성 할 필요가 Linq에 어떤 종류의 또는 관련 쿼리
일치하는 Id 필드를 가진 최상위 레벨 SomeObject를 기반으로 병합됩니다. KeyPair 목록을 하나의 목록에 결합합니다. 따라서 SomeObject Id = 5와 4 개의 키 쌍 값이 목록의 두 개의 다른 이전 SomeObject에서 병합됩니다. 이름 값은 새 오브젝트에서 제외 될 수 있습니다.
아이디어가 있으십니까? 정말 고맙습니다.
도움을 주셔서 감사합니다. –