我不得不将ASP经典系统转换为C#
我有一个存储过程,最多可以返回7个记录集(取决于传入的参数).
我需要知道如何简单地将所有记录集作为单独的DataTable返回,以便我可以遍历那里的任何内容,当我到达它的末尾时跳到下一个DataTable而不必运行多个SQL语句并使用多个适配器.填充语句以将每个表添加到DataSet中.
在经典中,当我到达循环的末尾移动到下一个语句时,它是一个简单的Do While而不是objRS.EOF循环和objRS.NextRecordset().
有什么我可以使用,不需要完全重写当前的后端代码?
每个记录集具有不同数量的列和行.他们彼此无关.我们从Stored Proc's返回多个记录集以减少流量.
例子很好.
谢谢
我正在尝试使用新的Entity Framework Core存储过程.我需要很快启动新项目,这将是ASP.Net 5,但不确定实体框架是否适合这项工作.应用程序将每分钟触发几个存储过程,我需要输出参数.EF会对此有好处还是我应该使用ADO.Net?
我试过FromSql和database.ExecuteSqlCommand但没有运气.
using (AppDbContext db = factory.Create())
{
var in1 = new SqlParameter
{
ParameterName = "ParamIn1",
DbType = System.Data.DbType.Int64,
Direction = System.Data.ParameterDirection.Input
};
var in2 = new SqlParameter
{
ParameterName = "ParamIn2",
DbType = System.Data.DbType.String,
Direction = System.Data.ParameterDirection.Input
};
var out1 = new SqlParameter
{
ParameterName = "ParamOut1",
DbType = System.Data.DbType.Int64,
Direction = System.Data.ParameterDirection.Output
};
var out2 = new SqlParameter
{
ParameterName = "ParamOut2",
DbType = System.Data.DbType.String,
Direction = System.Data.ParameterDirection.Output
};
var result = db.Database.ExecuteSqlCommand("exec spTestSp", …Run Code Online (Sandbox Code Playgroud)