Вызов хранимой процедуры с возвратом без использования 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)
);