C# 具有存储过程中的多条记录的简洁
我已经看到了这个问题的答案,但它似乎不适合我的场景 用于说明的虚拟表格 我有一个返回多个记录集的SP,第一个看起来像C# 具有存储过程中的多条记录的简洁,c#,ado.net,dapper,C#,Ado.net,Dapper,我已经看到了这个问题的答案,但它似乎不适合我的场景 用于说明的虚拟表格 我有一个返回多个记录集的SP,第一个看起来像 Column1 (int), Column2 (int) 我有一节课 public class Columns { public int Column1 { get; set; } public int Column2 { get; set; } } 然后,我试图建立一个列列表 using (var conn = new SqlConnecti
Column1 (int), Column2 (int)
我有一节课
public class Columns
{
public int Column1 { get; set; }
public int Column2 { get; set; }
}
然后,我试图建立一个列列表
using (var conn = new SqlConnection(...))
{
using (var multi = conn.QueryMultiple("SpData",
commandType: CommandType.StoredProcedure))
{
var cols = multi.Read<Columns>().ToList();
}
}
使用(var conn=new SqlConnection(…)
{
使用(var multi=conn.QueryMultiple(“SpData”,
commandType:commandType.StoredProcess)
{
var cols=multi.Read().ToList();
}
}
当我调用此函数时,
cols
变量中似乎没有填充任何内容,但我没有得到任何错误。另外,如果我打断并查看multi
包含的内容,我可以看到那里的数据。有人能看出我错在哪里吗?我不确定是删除这个问题,还是在发现明显错误后(醒来后)添加这个作为答案
我对SP中的前两个数据集不感兴趣,所以我需要使用Read
multi.Read();//skip first recordset
multi.Read();//skip second recordset
它可能会帮助其他人,否则我将很快删除它。请将问题留在这里,因为它可能会帮助其他人else@MarcGravell,好的,可以。顺便说一句,在几个月前你给了我一个答案之后,我决定使用
Dapper
——非常干净和有用,6行代码v大约是80行。