Вызов хранимой процедуры из операции CRUD внутри контроллера (ASP.NET Core MVC) - PullRequest
0 голосов
/ 25 апреля 2019

Этот CREATE метод контроллера внутри ASP.NET Core MVC будет принимать opportunityId и serialNum в качестве пользовательских вводимых данных.

// POST: OrdersSerialNumbers/Create
[HttpPost]
[ValidateAntiForgeryToken]         
public async Task<IActionResult> Create([Bind("opportunityId,serialNum")] OrdersSerialNumbers ordersSerialNumbers)
{
    if (ModelState.IsValid)
    {
        _context.Add(ordersSerialNumbers);
        await _context.SaveChangesAsync();
        return RedirectToAction(nameof(Index));
    }

    return View(ordersSerialNumbers);
}

Я хочу использовать эти два входа и передать их в этой хранимой процедуре ниже в качестве параметра:

CREATE PROCEDURE [dbo].[AddOrdersSerialNumbers] 
     (@OpportunityId VARCHAR(18),
      @SERLTNUM VARCHAR(21)
     ) 
AS 

Как я могу вызвать хранимую процедуру в моем методе create для передачив два пользовательских ввода и получить список результатов обратно вместо числа затронутых строк?

1 Ответ

0 голосов
/ 25 апреля 2019

Вот демонстрация, которую я сделал, вы можете обратиться и изменить код в соответствии с вашими потребностями

Создать хранимую процедуру AddAuthor, параметры должны соответствовать полям в таблице, которую вы хотите добавить.

CREATE PROCEDURE [dbo].[AddAuthor]
    @Book nvarchar(20),
    @Length nvarchar(100)
AS
BEGIN
Insert into Author(Book,Length)   
       Values (@Book,@Length) 
END
GO

Выполнение хранимой процедуры с помощью ExecuteSqlCommand (), вы можете указать @ p0 для первого параметра, @ p1 для второго и т. Д.

 _dbContext.Database.ExecuteSqlCommand("EXEC AddAuthor @p0, @p1", parameters: new[] { author.Book, author.Length });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...