这是我的疑问:
SELECT
a.Id, a.Title,
(SELECT m.Id, m.Name, m.MobileNo
FROM [msm].[MsmMember] AS m
WHERE m.Id = a.MemberId
AND m.OrganizationId = @OrganizationId
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER) AS Member
FROM
msm.MsmArticleSubmission a
WHERE
a.OrganizationId = @OrganizationId
AND a.Id = @Id
FOR JSON PATH
以下是生成的输出:
[
{
"Id": "A4C6B579-5D0C-4807-9537-53C6B1E8E6BA",
"Title": "Test Data",
"Member": "{\"Id\":\"79F87A71-332A-43CB-A944-E8C50C00CFF7\",\"Name\":\"Asma Husain Noora\",\"MobileNo\":\"00000000\"}"
}
]
这里的成员不是有效的JSON格式,因此,当我try 从C#反序列化时,Member
对象抛出异常,因为无效的JSON格式.我想不出任何解决办法.如果我将"Members"设置为一个数组,那么它就可以工作,但我只需要一个关联对象.
技术堆栈:ASP.NET CORE 8.0、SQL Server 2019