我想用C#+ MVC 4 + Entity Framework 5在我的控制器上调用存储过程。
我发现this topic谈论“如何使用存储过程使用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());
}
我想在此方法中显示返回值。
也许myEntityType
是bm_products
?
提前致谢。
答案 0 :(得分:1)
myEntityType
或TElement
是应该创建以容纳结果的对象类型。如果您的程序执行了此操作:
SELECT FieldA FROM table
然后你需要一个这样的课:
public class myEntityType
{
public string FieldA { get; set; }
}
其中myEntityType
是类型的类名 - 由您决定。
答案 1 :(得分:0)
当您调用存储过程时,myEntityType如何,该存储过程在存储过程中具有两个类型为varchar的输出参数@OFirstName和@OLastName。这两个输出参数不是任何表的列。