2013-06-03 2 views
5

MVC4を学習していて、Entity Frameworkのアイディアを得ました。しかし、私は、あなたがMVCで古いスタイルのSQL文を実行します。4.mvc4で古いスタイルのSQLを使用する方法

私はEFコードでこのアクションを持って言うことができますか疑問

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

それがインデックスに代わりEFの古いスタイルのSQLを行うことは可能です関数?私は古いスタイルSQLで何を意味するか

あなたはその後、「LINQの」を意味している場合、すべてのデータアクセス方式を強制/想定していない(すべてのバージョン)

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

    return View(model); 
} 
+0

旧式のSQLはADO.NETを意味しますか? –

+0

like "select * from restaurant" –

+0

linq to sqlの意味ですか? –

答えて

12

あなたはSqlQuery方法で生のSQLを実行することができます。ここでは

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

は、MSDNの記事です:Raw SQL Queries

+1

ありがとうございます。システムが私に –

+1

@ayilmazを歓迎させたらすぐにそれをマークしますが、エンティティフレームワークの全力を持っているのなら、なぜこれが本当に必要ですか? –

+0

私の質問は非常に明白で、新しい学習者にとっては非常によくある質問でした。 –

4

MVCを「レストランから選択*」のようなものです:

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

これで、結果が列挙型コレクションとして表示されます。必要に応じて使用してください。

希望に役立ちます。

関連する問題