2013-06-07 4 views
12

Ich verstehe, dass wir eine gespeicherte Prozedur mit Entity Framework aufrufen.Aufruf einer Stored Procedure, bei der nichts zurückgegeben wird, mit Entity Framework

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

Aber was, wenn meine gespeicherten Prozedur nur ein paar hat Update-Anweisungen und gibt nichts zurück, was sollte ich statt myEntityType?

Antwort

32

Sie wollen context.Database.ExecuteSqlCommand statt 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); 
    } 

Ihre Funktion in der Steuerung zu nennen:

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

Buchungscode nicht genug ist, können Sie eine Erklärung bieten sollte. – Ivan

Verwandte Themen