Как вызвать хранимую процедуру в Asp net core 3.0 (Update/Insert)
У меня есть хранимая процедура
CREATE PROCEDURE AddReserv
@Place int,
@StartDate datetime,
@EndDate datetime
AS
BEGIN
insert into [dbo].Reserv(UserId, Place, StartDate, EndDate)
values(1, @Place, @StartDate, @EndDate)
END
Я из контроллера по методу post хочу добавить новую запись в таблице. Не могу понять как передать параметры в хранимку.
// POST: api/CreateReserv
[HttpPost]
public void Post(string value)
{
using (var connection = _db.Database.GetDbConnection())
{
connection.Open();
using (var command = connection.CreateCommand())
{
command.CommandType = System.Data.CommandType.StoredProcedure;
command.CommandText = "AddReserv";
//Добавить параметры
/*
@Place int
@StartDate datetime
@EndDate datetime
*/
command.ExecuteNonQuery();
}
}
}
Ответы (1 шт):
Автор решения: Aziz Umarov
→ Ссылка
Вот так попробуйте
public void Post(string value)
{
using (var connection = _db.Database.GetDbConnection())
{
connection.Open();
using (var command = connection.CreateCommand())
{
command.CommandType = System.Data.CommandType.StoredProcedure;
command.CommandText = "AddReserv";
command.Parameters.Add(new SqlParameter("Place", place));
command.Parameters.Add(new SqlParameter("StartDate", startDate));
command.Parameters.Add(new SqlParameter("EndDate", endDate));
command.ExecuteNonQuery();
}
}
}
единственно определите сами параметры верно.