从实体框架生成的数据库上下文调用存储过程

本文关键字:数据库 上下文 调用 存储过程 实体 框架 | 更新日期: 2023-09-27 18:17:49

目标

我使用c# + MVC 4 + MySQL,我想在我的控制器中调用实体框架5创建的方法来调用存储过程。

我不知道如何在我的控制器中调用以下方法,通过实体框架在.Context.cs文件中创建:

public virtual ObjectResult<getProductsListForHome_Result> getProductsListForHome(Nullable<int> inOffer, Nullable<int> categoryId)
{
    var inOfferParameter = inOffer.HasValue ?
        new ObjectParameter("inOffer", inOffer) :
        new ObjectParameter("inOffer", typeof(int));
    var categoryIdParameter = categoryId.HasValue ?
        new ObjectParameter("categoryId", categoryId) :
        new ObjectParameter("categoryId", typeof(int));
    return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<getProductsListForHome_Result>("getProductsListForHome", inOfferParameter, categoryIdParameter);
}

我有什么

我已经试过了:

//
// GET: /Products/
public ActionResult Index()
{
    IEnumerable<getProductsListForHome_Result> products = db.getProductsListForHome(1, 14);
    var test = string.Join(",", (object[])products.ToArray());
    return Content(test);
}

当我访问/Products/(product ' Controller的Index()方法)时,我看到一个空白页,上面写着:MyApp.Models.getProductsListForHome_Result

于是我问:我该怎么做?

从实体框架生成的数据库上下文调用存储过程

将返回内容更改为返回视图