2013-06-07 31 views
12

Tôi hiểu đây là cách chúng tôi gọi là thủ tục được lưu trữ bằng cách sử dụng Entity Framework.Gọi thủ tục đã lưu trữ không có gì để trả về bằng Entity Framework

context.Database.SqlQuery<myEntityType>(
    "mySpName @param1, @param2, @param3", 
    new SqlParameter("param1", param1), 
    new SqlParameter("param2", param2), 
    new SqlParameter("param3", param3) 
); 

Nhưng, nếu quy trình lưu trữ của tôi chỉ có vài câu cập nhật và không trả lại gì, tôi nên đặt gì thay vì myEntityType?

Trả lời

32

Bạn muốn context.Database.ExecuteSqlCommand thay vì SqlQuery

context.Database.ExecuteSqlCommand(
    "mySpName @param1, @param2, @param3", 
    new SqlParameter("param1", param1), 
    new SqlParameter("param2", param2), 
    new SqlParameter("param3", param3) 
); 
-2
public void ExecuteWithStoreProcedure(string query, params object[] parameters) 
    { 
     context.Database.ExecuteSqlCommand(query, parameters); 
    } 

để gọi chức năng của bạn trong bộ điều khiển:

unitOfWork.ExecuteWithStoreProcedure(
         "yourspName @param1, @param2, 
         new SqlParameter("param1", 10), 
         new SqlParameter("param2", 20) 
         );  
+0

đang viết bài là không đủ, bạn nên cung cấp một số lời giải thích. – Ivan

Các vấn đề liên quan