5

我正在学习 MVC4,我得到了实体框架的想法。但我想知道您如何在 MVC 4 中执行旧式 sql 语句。

假设我使用 EF 代码执行此操作

public ActionResult Index(){
    var model = from r in restaruants
                select r;
    return View(model);
}

是否可以在索引函数中使用旧式 sql 而不是 EF?

我对旧式 sql 的意思就像“从餐厅选择 *”

public ActionResult Index(){
   /* Can I have something like this? */
   var model = Return_Model_Somehow("select * from restaurants");

   return View(model);
}
4

2 回答 2

12

您可以使用以下方法执行原始 sql SqlQuery

var model = context.Database.SqlQuery<Restauraunt>("SELECT * FROM Restaruants")
                   .ToList();
return View(model);

这是 MSDN 文章:原始 SQL 查询

于 2013-06-03T13:41:48.700 回答
4

MVC(所有版本)不假设/强制任何数据访问方法,如果您的意思是“Linq”,那么:

string q = "SELECT *FROM Table1";
IEnumerable<Entities.Table1> res = context.ExecuteQuery<Entities.Table1>(q);

现在您将结果作为一个可枚举的集合,随意使用它。

希望有帮助。

于 2013-06-03T13:41:46.377 回答