有作为过程有两个如下所示的Select语句:-
Create PROCEDURE sp_test
As
Begin
Select RegId,Name from tblRegistration
Select UserId,UserName from tblUser
End
现在,我有两个表的模型
public class Registration
{
public Int64 RegId { get; set; }
public string Name { get; set; }
}
public class User
{
public Int64 UserId { get; set; }
public string UserName { get; set; }
}
我需要在下面的两个使用“公共类”的模型中填充数据,并且不想多次击中数据库
public class Common
{
public List<Registration> registration { get; set; }
public List<User> user { get; set; }
}
使用以下代码连接数据库
public T StoredProcedureMultipleResult(string spQuery, object[] parameters)
{
using (DbConfig dbContext = new DbConfig())
{
string param = "";
for (int i = 0; i < parameters.Length; i++)
{
param = param + "{" + i.ToString() + "},";
}
int index = param.LastIndexOf(',');
string sql = "[" + spQuery + "] " + param.Substring(0, index);
T t = (T)dbContext.Database.SqlQuery<T>(sql, parameters).AsQueryable<T>();
}
var value = typeof(T);
return (T)Convert.ChangeType(value, typeof(T));
}
最佳答案
尊敬的Adnan,请使用Dataset进行相同操作。如果不使用ADO.net中的数据集,则无法保留多个表。
关于c# - 在不使用数据集的情况下通过Sql存储过程在ASP.Net MVC模型中保存多个结果集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57290257/