2016-04-19 6 views
-3

EFを使用せずにM-V-C ADOを実装する方法が不思議です。 は純粋なADOの実装とまったく同じです。どんな提案やサンプルも感謝しています。EFを使用しないMVC ADO

+0

申し訳ありませんが、Googleだけのためにこのウェブサイトを間違えなければなりません。推奨されるgoogleの検索用語: "エンティティフレームワークのないmvc" –

答えて

1

基本的なADO.NET接続は、MVCが近づいてもまったく変更されていません。彼らはまだSqlConnectionのオブジェクトとその関連コマンドのようなものに依存しています。あなたは、単にクエリ構築したい場合

、それは次のようになります。

// Build your connection 
using(var connection = new SqlConnection("{your-connection-string-here"})) 
{ 
    // Build your query 
    var query = "SELECT * FROM YourTable WHERE foo = @bar"; 
    // Create a command to execute your query 
    using(var command = new SqlCommand(query,connection)) 
    { 
      // Open the connection 
      connection.Open(); 
      // Add any parameters if necessary 
      command.Parameters.AddWithValue("@bar", 42); 

      // Execute your query here (in this case using a data reader) 
      using(var reader = command.ExecuteReader()) 
      { 
       // Iterate through your results 
       while(reader.Read()) 
       { 
         // The current reader object will contain each row here, so you 
         // can access the values as expected 
       } 
      } 
    } 
} 
+0

私はモデルセクションでこのADOを見つけるでしょうか? – parpar

+0

これはあなたのスタイルや好みに本当に依存します。コントローラでこれを実行して、必要なデータにアクセスする(またはデータアクセスレイヤのような独自のクラスにさらに抽象化する)こともできます。 –

0

あなたは、データを取得するために、ADOコマンドの種類とここで見paramaterized SQLを使用することができます。

 conn.Open(); 
     cmd.CommandText = "SELECT id, desc FROM mytable WHERE id = @id"; 
     cmd.Parameters.AddWithValue("@id", myid); 
     using (var reader = cmd.ExecuteReader()) 
     { 
      if (!reader.Read()) 
      { 
       return null; 
      } 
      return new myItem 
      { 
       Id = reader.GetInt32(reader.GetOrdinal("id")), 
       Desc = reader.GetString(reader.GetOrdinal("desc")), 
      } 
     } 

CRUDのためのMSDN上の例がたくさんあります。

関連する問題