asp.net-core - 如何使用 Database.GetDbConnection() 将 SQL Server 存储过程的结果存储到视图模型中
问题描述
我必须执行一个存储过程才能从数据库中获取所需的结果,并且该结果必须使用 list(model) 显示在 html 表中。
我正在使用模型类MissingAttendanceVM
:
public class MissingAttendanceVM
{
public string TxtAttDate { get; set; }
}
存储过程:
ALTER PROCEDURE [dbo].[goGetDepotsMissingAttPopup]
(@DepotNo int,
@DepartmentID int)
AS
BEGIN
SELECT AttendanceDate
FROM Attendance
WHERE DepotNo = @DepotNo
AND DepartmentId = @DepartmentID // The result is returned as datetime
END
现在我正在尝试将结果放入列表视图模型类中:
public ICollection<MissingAttendanceVM> GetMissingAttendanceDatesByDepo(int depoNo = 0, int department = 0)
{
using (var cmd = _db.Database.GetDbConnection().CreateCommand())
{
cmd.CommandText = "exec goGetDepotsMissingAttPopup";
cmd.CommandType = System.Data.CommandType.StoredProcedure;
SqlParameter parDepot = new SqlParameter("@DepotNo", depoNo);
SqlParameter parDept = new SqlParameter("@DepartmentID", department);
cmd.Parameters.Add(parDepot);
cmd.Parameters.Add(parDept);
_db.Database.OpenConnection();
using (var result = cmd.ExecuteReader())
{
List<MissingAttendanceVM> datelist= new List<MissingAttendanceVM>();
datelist = //I am trying to store the result from datareader
}
}
return datelist
}
如何将结果带入 datelist 变量?
谢谢,艾伦
解决方案
推荐阅读
- c# - JSON 值无法转换为 System.DateTime
- postgresql - 合并到“合并”时出错的语句
- vue.js - npm run server 抛出错误 sh: 1: vue-cli-service: not found
- java - 杰克逊反序列化与特定的反序列化播放框架 2.8
- javascript - 显示循环遍历对象数组的键值对
- sql - 在 SQL 中一次在多行中插入相同的 MAX 值?
- javascript - 如何避免 RegExp 在 next.js 中删除 `u`
- wpf - 可以将 WPF ScrollViewer PageDown 配置为滚动到最后一项吗?
- javascript - 我正在遍历数据库,但我的 div 模型仅适用于第一条记录,而不适用于其他记录
- vb.net - 动态 PictureBox 创建并附加到 TabControl