C# MVC4中使用Dapper的存储过程
我试图在MVC中使用Dapper和存储过程执行CRUD操作,但由于转换错误,我无法解决该错误,所以无法将结果从模型返回到控制器。请问有人能帮我吗?我的结果应该是什么 这是我的控制器C# MVC4中使用Dapper的存储过程,c#,asp.net,asp.net-mvc,dapper,C#,Asp.net,Asp.net Mvc,Dapper,我试图在MVC中使用Dapper和存储过程执行CRUD操作,但由于转换错误,我无法解决该错误,所以无法将结果从模型返回到控制器。请问有人能帮我吗?我的结果应该是什么 这是我的控制器 public ActionResult AllMobileList() { MobileMain MM = new MobileMain(); return View(MM.AllMobileListing().ToList()); } [HttpGet] public ActionR
public ActionResult AllMobileList()
{
MobileMain MM = new MobileMain();
return View(MM.AllMobileListing().ToList());
}
[HttpGet]
public ActionResult Edit(string MobileID)
{
MobileMain MM = new MobileMain();
return View(MM.GetMobileList(MobileID));
}
模型
错误:
无法将类型“string”隐式转换为“System.Collections.Generic.IEnumerable”
我知道这是一个非常常见的错误,我犯了一些愚蠢的错误。如果SP使用select语句返回数据,则应该使用Dapper的查询扩展方法来获取存储过程调用的结果
查询返回IEnumerable,因此您可以简单地使用IEnumerable AllMobileListing:
还有一句话:如果您的参数是一个数字,那么不要使用字符串类型。如果SP使用select语句返回数据,则应使用Dapper的查询扩展方法获取存储过程调用的结果
查询返回IEnumerable,因此您可以简单地使用IEnumerable AllMobileListing:
还有一句话:如果您的参数是一个数字,那么不要使用字符串类型。它只会在以后引起头痛。非常感谢。。我的错误被解决了,它的工作非常完美。。我的错误被解决了,它的工作也很完美
public IEnumerable<TBMobileDetails> AllMobileListing()
{
var para = new DynamicParameters();
para.Add("@Type", 1);
var result= con.Execute("Sp_MVCDapper", para, commandType: CommandType.StoredProcedure).ToString();
return result; // Error happens here
}
public TBMobileDetails GetMobileList(string MobileId)
{
var para = new DynamicParameters();
para.Add("@Type", 2);
para.Add("@MobileId",Convert.ToInt32(MobileId));
var result = con.Execute("Sp_MVCDapper", para, commandType: CommandType.StoredProcedure).ToString();
return result; // Error happens here
}
return con.Query<TBMobileDetails>(
"Sp_MVCDapper", para, commandType: CommandType.StoredProcedure)
var list = con.Query<TBMobileDetails >(
"Sp_MVCDapper", para, commandType: CommandType.StoredProcedure);
return list.Single(); // assuming that the SP only returns a single item