2016-10-14 5 views
2

Sorteioエンティティ(データベース)のM1lhaoテーブルでSELECTを実行しようとしています。MVC4コントローラでSQLを選択

私は伝統的な "文字列クエリ"やAddWithParameter()の方法を使いたくないので、MVC4 EF5の利用可能なメソッドを使いたいと思っています。

次のコードは、テーブル全体をビューに渡します。ビューではforeachを実行でき、すべて正常に動作します。私が探しているのは、どのようにしてSQLクエリーを行うことができるのかということです。私は望む要素だけを渡すことができます。例えば、リストに明示的にDESCendingをソートし、Viewが期待するモデルに従います。

は基本的に私は(私が試したあまりにバリアント、db.Milhao、など)の交換をしたい:

var data = db.Database.ExecuteSqlCommand("SELECT * From M1lhao WHERE DrawID = {0}", id); 

検索に問題が()、それは主キーのみを検索することです。

完全なコード:

public class M1lhaoController : Controller 
{ 
    private Sorteio db = new Sorteio(); 

    public ActionResult Index(int id = 1) 
    { 
     var data = db.Database.ExecuteSqlCommand("SELECT * From M1lhao WHERE DrawID = {0}", id); // the variable data comes as -1 
     M1lhao m1lhao = db.M1lhao.Find(id); 
     if (m1lhao == null) 
     { 
      return HttpNotFound(); 
     } 
     return View(db.M1lhao.ToList()); 
    } 

} 

ありがとうございました。

答えて

2

次のように試してみることができます。

var data = db.M1lhao.Where(m=>m.DrawID == id).Select(p=>p); 

あなたはより多くを学ぶことができる程度Method-Based Query Syntax : Projection

+0

は、あなたの答えをいただき、ありがとうございます。それはまさに私が期待していた方向性のようです。 SQLクエリーをどのように構成すればよいでしょうか。 –

+0

もっと必要な場合は、私にお知らせください。 – Sampath

+1

私は今すぐ動作させることができました。ご助力ありがとうございます。 –