我是MVC的新手,正在尝试从 Controller 调用存储的proc。

在模型中,我有edmx,它已将所有存储的procs作为函数存储



我在 Controller 中为实体创建了一个对象,并且在操作结果函数中创建了一个对象,该函数调用了调用存储的proc的函数,并返回了上述错误。
如何将结果集转换为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# - 如何将复杂类型转换为 Action 结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20738562/

10-15 06:51