【发布时间】:2013-05-13 13:37:42
【问题描述】:
我是 SQL Server 存储过程的新手,如果我是个白痴,我深表歉意。我想使用一个存储过程来返回一个对象列表,每个对象都有一个包含相关对象列表的属性。例如
public class Question
{
public int QuestionID { get; set; }
public string Question { get; set; }
public List<Answer> Answers { get; set; }
}
public class Answer
{
public int AnswerID { get; set;}
public int QuestionID { get; set; }
public string Answer { get; set;}
}
我想编写一个存储过程,它返回一个问题列表,每个问题的 Answers 属性都填充了相关的 Answer 对象。
非常感谢任何帮助!
谢谢,
戴夫
【问题讨论】:
-
实体框架会为你做这件事,否则它必须是一个手动过程
-
有什么理由使用存储过程而不是实体框架之类的吗?
-
@DGibbs 是的。只询问存储过程是否真的可行
-
它可能,但实施取决于您计划在客户端使用什么?实体框架、其他一些 ORM、ADO.NET DataSet、DataReader....
-
是的,这会起作用,这里有两种方法:1. 返回 2 个结果集(一个带有问题,一个带有所有相关答案)或 2. 调用 sprocs 来获取问题,然后调用每个问题答案的第二个存储过程...... - 第一个意味着您可以更有效地获取数据但需要一些处理,第二个有更多的数据库命中
标签: c# .net sql-server stored-procedures