У меня есть набор данных A в формате JSON -
[
{
"member_id": 1,
"member_name": "abc",
"contacts": [
{
"contact_id": 1,
"name": "contact1"
},
{
"contact_id": 2,
"name": "contact2"
},
{
"contact_id": 3,
"name": "contact3"
}
]
},
{
"member_id": 2,
"member_name": "abc1",
"contacts": [
{
"contact_id": 3,
"name": "contact3"
},
{
"contact_id": 4,
"name": "contact4"
},
{
"contact_id": 5,
"name": "contact5"
}
]
}
]
У меня есть набор данных B в формате JSON -
[
{
"member_id": 1,
"member_name": "abc",
"contacts": [
{
"contact_id": 1,
"name": "contact1"
}
]
},
{
"member_id": 2,
"member_name": "abc1",
"contacts": [
{
"contact_id": 3,
"name": "contact3"
}
]
}
]
Я изо всех сил пытаюсь завершить соединение в LINQ так, чтобы конечный результат был ниже -
[
{
"member_id": 1,
"member_name": "abc",
"contacts": [
{
"contact_id": 1,
"name": "contact1"
},
{
"contact_id": null,
"name": "contact2"
},
{
"contact_id": null,
"name": "contact3"
}
]
},
{
"member_id": 2,
"member_name": "abc1",
"contacts": [
{
"contact_id": 3,
"name": "contact3"
},
{
"contact_id": null,
"name": "contact4"
},
{
"contact_id": null,
"name": "contact5"
}
]
}
]
Я объясняю выше как в SQL так же, как -
SELECT
Member.member_id
,Member.member_name
,(SELECT
um.contact_id
,xi.name AS Name
FROM User_match um RIGHT JOIN #xmlInput xi ON um.contact_id = xi.contact_id
FOR XML PATH('User'),TYPE, ELEMENTS XSINIL ) As Users
FROM #xmlMembers Member WITH (NOLOCK)
FOR XML Path('Home'), ELEMENTS
Я изо всех сил пытаюсь сделать точный вывод в LINQ. Как это сделать на подуровне из родительского в LINQ с присоединением LEFT / RIGHT, если я рассмотрю два набора данных выше.