0

目标

我想用 C# + MVC 4 + Entity Framework 5 在我的控制器上调用存储过程。

问题

我发现这个话题是关于“如何将 DbContext.Database.SqlQuery(sql, params) 与存储过程一起使用?EF Code First CTP5”,这正是我所需要的。

在主题中,我们有以下代码:

context.Database.SqlQuery<myEntityType>(
    "mySpName @param1, @param2, @param3",
    new SqlParameter("param1", param1),
    new SqlParameter("param2", param2),
    new SqlParameter("param3", param3)
);

如您所见,有一个泛型类型 (?) 被调用myEntityType,我不知道我的实体类型是谁。

我正在使用 Entity Framework 5,我所有的 CRUD 都是由他生成的。

细节

我想要的很简单(我猜):在我的视图中显示过程的返回。上面的代码是我在 ProductsController 上的代码:

//
// GET: /Products/
public ActionResult Index()
{
    return View(db.bm_products.ToList());
}

我想在这个方法中显示返回。

我有的

也许myEntityTypebm_products

提前致谢。

4

2 回答 2

1

,myEntityTypeTElement, 是应该被创建来容纳结果的对象类型。如果您的程序这样做:

SELECT FieldA FROM table

那么你需要一个像这样的类:

public class myEntityType
{
    public string FieldA { get; set; }
}

myEntityType类型的类名在哪里- 这取决于您。

于 2013-06-11T12:48:27.637 回答
0

当您调用具有两个输出参数的存储过程时,myEntityType 会怎样,这两个输出参数在存储过程中都是 varchar 类型。这两个输出参数不是任何表的列。

于 2014-02-20T19:38:32.627 回答