存储过程能否同时返回Teacher、Location属性及学生列表集合?
我定义了如下Classroom类:
public class Classroom { public string Teacher { get; set; } public string Location { get; set; } public List<Students> studentsList { get; set; } }现有一个存储过程可将学生列表返回至studentsList属性中,目前希望通过该存储过程额外返回Teacher和Location两个值,请问该需求能否实现?
需求实现方案:存储过程返回教室信息及学生列表
完全可以实现,常用的几种实现思路如下:
多结果集返回
存储过程里先输出一条包含Teacher和Location的记录,再输出学生列表的结果集。代码读取时,先处理第一个结果集,把值赋值给Classroom的对应属性,再处理第二个结果集映射到studentsList。使用输出参数
在存储过程中定义@Teacher、@Location两个输出类型的参数,执行存储过程后直接获取这两个参数的值,同时读取学生列表的结果集到studentsList。合并结果集(不推荐)
让学生列表的每条记录都带上Teacher和Location的值,读取时从第一条记录提取这两个属性的值,再把所有记录转成学生列表。这种方式会有数据冗余,只适合特殊场景使用。
内容的提问来源于stack exchange,提问作者Chew Hong Yu
相关产品推荐
相关产品推荐

