【发布时间】:2018-10-22 06:20:06
【问题描述】:
当我从一对多关系的数据库中检索数据时,我卡住了,我得到了两行这样的数据
ID NAME CHOICE_ID CHOICE_NAME CHOICE_VALUE
1 1 1 1 true
1 1 1 2 false
如何制作这样的json?
[{
id:1
name:1
choice:[
{
choiceId:1
choiceName:1
choice_value:true
},
{
choiceId:1
choiceName:2
choiceValue:false
}
]
]}
我的代码是这样的:
var tbl = from a in db.users
join b in db.choice
on a.choice_id = b.choice_id
select new {
a.id
a.name
a.choice_id
b.choice_name
b.choice_value
}
table.Select(p => new User()
{
id = p.id
name = p.name
choice = new List<Choice>()
{
new Choice()
{
choiceId = p.choiceId
choiceName = p.choiceName
choiceValue = p.choiceValue
}
}
}).toList();
它会得到两个具有相同 id 和 name 我想得到一个包含所有选择的。
【问题讨论】:
-
有些数据库可以自己返回json结构。您正在使用什么 rdbms? edit您的问题包括产品和特定版本标签。
-
c#和api是什么关系? -
您可以将您的查询结果列表转换为
json。 -
是的,但是如何修复结构?
-
我可以为您提供一个使用 FOR JSON 的纯 t-sql 解决方案,它将直接从 SQL Server 返回 json 结构。你愿意吗?
标签: c# json sql-server-2017