我是 MVC 的新手,正在尝试从 Controller 调用存储过程。
在模型中,我有 edmx,它将所有存储过程作为函数
Cannot implicitly convert type
System.Collections.Generic.IEnumerable<MVC.Models.xxcomplextype_result>
toSystem.Web.Mvc.ActionResult
An explicit conversion exists.
我在 Controller 中为实体创建了一个对象,并在一个操作结果函数中调用了调用存储过程的函数,它返回了上述错误。 如何将结果集转换为actionresult?
代码示例
public class DBController : Controller
{
XXXXXXXEntities xXXXXXEntities = new XXXXXXXEntities();
public IEnumerable<usp_xxxxx_Result> usp_xxxxx()
{
return XXXXXEntities.usp_xxxxx();
}
}
public ActionResult ViewQuery() {
DBController dBController = new DBController();
return dBController.usp_xxxxx();
}
最佳答案
您需要返回一个继承自 ActionResult 的类。
可能你想要这样的东西:
public ActionResult ViewQuery() {
DBController dBController = new DBController();
return View(dBController.usp_xxxxx());
}
这将返回 View ,并将结果作为模型传入。
如果你想返回 JSON 使用:
public ActionResult ViewQuery() {
DBController dBController = new DBController();
return JSON(dBController.usp_xxxxx());
}
关于c# - 如何将复杂类型转换为 actionresult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20738562/