Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC4中使用Dapper的存储过程_C#_Asp.net_Asp.net Mvc_Dapper - Fatal编程技术网

C# MVC4中使用Dapper的存储过程

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

我试图在MVC中使用Dapper和存储过程执行CRUD操作,但由于转换错误,我无法解决该错误,所以无法将结果从模型返回到控制器。请问有人能帮我吗?我的结果应该是什么

这是我的控制器

 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