【发布时间】:2021-02-24 07:58:15
【问题描述】:
我在尝试定义我的控制器功能时收到该错误消息(我使用的是 ASP.NET Core 5.0)。我一直在尝试解决它一段时间,但没有成功,我几乎陷入困境。
看看:
控制器功能显示错误:
public ActionResult Edit(int id)
{
using (Approver approver = dbContext.GetApproverbyId(id))
{
return View(approver);
}
}
public ActionResult Index()
{
List<approver> approverList = dbContext.GetAllapprovers().ToList();
return View(approverList);
}
public ActionResult Details(int id)
{
approver approver = dbContext.GetApproverbyId(id);
return View(approver);
}
我的 CONTEXT 函数:
public IEnumerable<approver> GetAllapprovers()
{
var approverList = new List<approver>();
using (SqlConnection con = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand("SP_GetAllApprovers", con)
{
CommandType = System.Data.CommandType.StoredProcedure
};
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
var approver = new approver
{
CODE = Convert.ToInt32(dr["CODE"].ToString()),
MAIL = dr["MAIL"].ToString()
};
approversList.Add(approver);
}
con.Close();
}
return approversList;
}
public approver GetApproverbyId(int? id)
{
var approver = new approver();
using (SqlConnection con = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand("SP_GetapproverById", con);
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@CODE", id);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
approver.CODE = Convert.ToInt32(dr["CODE"].ToString());
approver.MAIL = dr["MAIL"].ToString();
}
con.Close();
}
return approver;
}
我做错了什么?可以帮我解决这个问题吗?我很迷茫
显示错误的行:
dbContext.GetApproverbyId(id))
dbContext.GetAllapprovers().ToList();
dbContext.GetApproverbyId(id);
【问题讨论】:
-
嘿@00110001,感谢您的回复。我刚刚编辑了我的帖子,请看一下
-
我强烈建议你看看Dapper,它可以让生活变得更轻松,让你不必写那些无聊的东西“胶水”代码只是为了从数据库中加载数据.....
-
你在标题中谈到了那个错误,但我看到的只是这个无法隐式转换,那是什么错误?你有那个错误的确切线在哪里?这些信息会让其他人更快地进入问题,实际上对于某些人来说,这将是激发他们首先关心问题所必需的。
-
您是否对
approver有两个定义?您的 dbContext 返回一个版本,但您的控制器将另一个版本用于其局部变量
标签: c# asp.net-core asp.net-core-mvc