我正在学习MVC4,我了解了实体框架。但我想知道你如何在MVC 4中使用旧式sql语句。
让我说我有EF代码的这个动作
public ActionResult Index(){
var model = from r in restaruants
select r;
return View(model);
}
是否可以在索引函数中使用旧式sql而不是EF?
我对旧式sql的意思是“select * from restaurant”
public ActionResult Index(){
/* Can I have something like this? */
var model = Return_Model_Somehow("select * from restaurants");
return View(model);
}
答案 0 :(得分:12)
您可以使用SqlQuery
方法执行原始SQL:
var model = context.Database.SqlQuery<Restauraunt>("SELECT * FROM Restaruants")
.ToList();
return View(model);
以下是MSDN文章:Raw SQL Queries。
答案 1 :(得分:4)
MVC(所有版本)不会假设/强制任何数据访问方法,如果你的意思是'Linq'那么:
string q = "SELECT *FROM Table1";
IEnumerable<Entities.Table1> res = context.ExecuteQuery<Entities.Table1>(q);
现在您将结果作为可枚举的集合,根据需要使用它。
希望有所帮助。