2016-04-12 4 views
0

Я использую хранимую процедуру в своей базе данных SQL Server, чтобы вводить данные через datatable. Как я использую ASP.NET MVC теперь, я хочу использовать Entity Framework вместо ado.netКак использовать Entity Framework вместо Ado.net для хранимой процедуры?

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

Для этого я предпочитаю использовать щеголеватый вместо этого. – hazjack

ответ

0

Это очень легко просто добавить сущности DataModel к вашей программе

подключить к вам модели:

"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; 


    } 
Смежные вопросы