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

时间:2013-06-11 13:54:23

标签: c# sql entity-framework

目标

我正在使用C#+ MVC 4 + MySQL,我想在我的控制器中调用一个由Entity Framework 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 /(产品控制器的Index()方法)时,我看到一个空白页面: MyApp.Models.getProductsListForHome_Result

所以我问:我要做什么?

1 个答案:

答案 0 :(得分:-1)

将退货内容更改为退货视图。