2016-04-12 12 views
0

SQL Serverデータベースでストアドプロシージャを使用して、データテーブルからデータを入力しています。私は今、ASP.NET MVCを使用していますように、私はストアドプロシージャにAdo.netの代わりにEntity Frameworkを使用するにはどうすればよいですか?

あなたのモデルに接続

public void BulkUpload(DataTable dt) 
{ 
     dt.TableName = "MainTable"; 
     DataSet dataset = new DataSet(); 
     DataTable dataTable = new DataTable(); 

     try 
     { 
      using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ConnectionString)) 
      { 
       conn.Open(); 
       { 
        SqlCommand cmd = new SqlCommand("DatatableToDataBase", conn); 

        cmd.CommandType = CommandType.StoredProcedure; 
        cmd.Parameters.AddWithValue("@mode", SqlDbType.VarChar).Value = "MainTB"; 
        cmd.Parameters.AddWithValue("@Details", SqlDbType.VarChar).Value = dt; 

        cmd.ExecuteNonQuery(); 
        conn.Close(); 
       } 
      } 
     } 
     catch (Exception) 
     { } 
    } 
+2

は、私が代わりにDapperのを使用することを好みます。 – hazjack

答えて

0

それは非常に簡単ですちょうどあなたのプログラムにエンティティデータモデルを追加する代わりにado.netのエンティティフレームワークを使用したい:

"entitymodel" context = this.CurrentDataSource; 

そして、好きな場所にストアドプロシージャを渡します。

ザッツのすべて

例:このため

[WebGet] 
    public List<callersW> GetCaller() 
    { 

     testCDREntities1 context = this.CurrentDataSource; 

     //sql parameters here 

     List<callersW> result = context.Database.SqlQuery<callersW>("StoredProcedure").ToList(); 
     return result; 


    } 
関連する問題