什么是我的通用类型/实体? (对于Database.SqlQuery)

时间:2013-06-11 12:44:17

标签: c# sql entity-framework asp.net-mvc-4

目标

我想用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());
}

我想在此方法中显示返回值。

我拥有什么

也许myEntityTypebm_products

提前致谢。

2 个答案:

答案 0 :(得分:1)

myEntityTypeTElement是应该创建以容纳结果的对象类型。如果您的程序执行了此操作:

SELECT FieldA FROM table

然后你需要一个这样的课:

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

其中myEntityType是类型的类名 - 由您决定。

答案 1 :(得分:0)

当您调用存储过程时,myEntityType如何,该存储过程在存储过程中具有两个类型为varchar的输出参数@OFirstName和@OLastName。这两个输出参数不是任何表的列。