DataSet :
DataSet
var xml = conn.QueryFirst<string>("myproc", new { id }, commandType: CommandType.StoredProcedure); using (var sr = new StringReader(xml)) { var ds = new DataSet(); ds.ReadXml(sr); return ds; }
这种方法的问题是,我需要将列转换为正确的数据类型,但这并没有按预期工作。
是否可以将存储过程的结果返回到 数据集 直接地显然,存储过程随后会相应地更改,以便返回结果集而不是XML。
数据集
衣冠楚楚 QueryMultiple 但是如何将每个结果返回到表中呢。我需要一个额外的步骤来获得结果吗 dynamic 然后创建一个 DataTable
QueryMultiple
dynamic
DataTable
可以使用SqlDataAdapter.Fill加载具有多个结果集的数据集,其中包含存储过程返回的每个结果的表:
using (var connection = new SqlConnection(connectionString)) using (var command = new SqlCommand("myproc", connection) { CommandType = CommandType.StoredProcedure }) using (var dataAdapter = new SqlDataAdapter(command)) { command.Parameters.Add("@id", SqlDbType.Int).Value = id; dataAdapter.Fill(dataSet); }