5

私はMVC4を学んでおり、Entity Frameworkのアイデアを得ました。しかし、MVC 4 で古いスタイルの SQL ステートメントをどのように行うのだろうか。

私はEFコードでこのアクションを持っているとしましょう

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

インデックス関数で EF の代わりに古いスタイルの SQL を実行することは可能ですか?

古いスタイルのSQLで私が意味するのは、「select * from restaurant」のようなものです

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 の記事は次のとおりです: Raw SQL Queries

于 2013-06-03T13:41:48.700 に答える
4

「Linq」を意味する場合、MVC(すべてのバージョン)はデータアクセス方法を想定/強制しません:

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

列挙可能なコレクションとして結果が得られたので、必要に応じて使用してください。

それが役立つことを願っています。

于 2013-06-03T13:41:46.377 に答える