Вызов хранимой процедуры с возвратом без использования Entity Framework

Я понимаю, что мы называем хранимую процедуру с помощью Entity Framework.

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

Но, что, если моя хранимая процедура только a имеет пару операторов обновления и ничего не возвращает, что я должен поставить вместо myEntityType?

Ответ 1

Вы хотите context.Database.ExecuteSqlCommand вместо 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);
    }

для вызова вашей функции в контроллере:

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