Sql server 2012 返回存储过程中行内的数组

Sql server 2012 返回存储过程中行内的数组,sql-server-2012,asp.net-core-2.0,Sql Server 2012,Asp.net Core 2.0,以下是我的设置的简化版本 如果我有一个跟踪孩子们玩的玩具的系统,我的数据库将有以下表格: CREATE TABLE Children Id INT NOT NULL PRIMARY KEY, Name VARCHAR NOT NULL CREATE TABLE Toys Id INT NOT NULL PRIMARY KEY, Name VARCHAR NOT NULL CREATE TABLE Plays_With Child_Id INT PRIMARY KEY, Toy_Id IN

以下是我的设置的简化版本

如果我有一个跟踪孩子们玩的玩具的系统,我的数据库将有以下表格:

CREATE TABLE Children
Id  INT NOT NULL PRIMARY KEY,
Name VARCHAR NOT NULL

CREATE TABLE Toys
Id INT NOT NULL PRIMARY KEY, 
Name VARCHAR NOT NULL

CREATE TABLE Plays_With
Child_Id INT PRIMARY KEY,
Toy_Id INT PRIMARY KEY,
CONSTRAINT FK_Child FOREIGN KEY Child_Id REFERENCES Children(Id),
CONSTRAINT FK_Toy FOREIGN KEY Toy_Id REFERENCES Toys(Id)
我的C#类将如下所示:

public class Child 
{
    public int Id {get; set;}
    public string Name {get; set;}
    public List<Toy> Toys {get; set;}
}

public class Toy 
{
    public int Id {get; set;}
    public string Name {get; set;}
}
公共类子类
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共列表玩具{get;set;}
}
公营玩具
{
公共int Id{get;set;}
公共字符串名称{get;set;}
}
(请忽略上面的任何语法错误,因为这是对设置的描述,而不是实际代码)


现在回到实际问题,是否有一种方法可以检索用单个存储过程填充子对象列表(检索每个子对象及其相关玩具)所需的信息?

SQL 2012不能使用JSON(需要SQL 2016),但可以使用XML。是的,您可以编写查询/过程来返回包含孩子/玩具列表的XML,并将其解析为c#对象。如果您不展示您迄今为止的工作,以获得所需的结果,我相信这里的任何人都不会走得更远。@DaveCullum看起来xml是一条出路。如果我想生成以下内容,我的查询会是什么样子:基本上,这取决于您在c代码中使用的是什么-我猜不同的ORM有不同的方式来处理这些事情,如果您想使用数据集或数据读取器,它将是不同的。。。尽管如此,我列出的所有方法都是可能的,当然还有Date Cullum所写的XML。