我想使用实体框架从存储过程中获取多个结果集。表的结果成功获得,但是当我想获得一Balance
列时,它不能,任何帮助将不胜感激。
谢谢
public ViewModel GetTwoResultSetsForUserId(string Date, string FromDate, string ToDate, int userId)
{
using (var db = new CuumiEntities())
{
// Create a SQL command and add parameter
var cmd = db.Database.Connection.CreateCommand();
cmd.CommandText = "getTransactionDatewisetesting";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@Date", Date));
cmd.Parameters.Add(new SqlParameter("@FromDate", FromDate));
cmd.Parameters.Add(new SqlParameter("@ToDate", ToDate));
cmd.Parameters.Add(new SqlParameter("@UserId", userId));
// execute your command
db.Database.Connection.Open();
var reader = cmd.ExecuteReader();
double Balance = reader.GetDouble(0);
var transactions = ((IObjectContextAdapter)db)
.ObjectContext
.Translate<transaction>(reader)
.ToList();
reader.NextResult();
var Expenses = ((IObjectContextAdapter)db)
.ObjectContext
.Translate<spendingClass>(reader, "spendings", MergeOption.AppendOnly).ToList();
var balance = ((IObjectContextAdapter)db).ObjectContext.Translate<PrevBalance>(reader);
return new ViewModel
{
transactions = transactions,
Expenses = Expenses,
Balance = Balance
};
}
}
这是我要返回的模型
这是我的存储过程结果: