Не удается получить Scope_identity из SQL Серверной процедуры в проекте ASP. NET MVC - PullRequest
0 голосов
/ 15 марта 2020

Я работаю над проектом ASP. NET MVC, который требует выполнения хранимой процедуры в контроллере.

Код в контроллере выглядит следующим образом:

var dateAdd = DateTime.Now;
var dateUpdate = DateTime.Now;
var statues = false;

ObjectParameter id = new ObjectParameter("id", typeof(Int32));
var customer = saleOrder.Customer_Id;

var saleorder_id = db.InsertSalesOrder(dateAdd,dateUpdate,saleOrder.Customer_Id , statues);

foreach (var item in list)
{
    db.InsertListItems(item.Item_Id, saleOrder.SalesOrder_id, item.NumberOfItemsInOrder);
}

db.SaveChanges();
return RedirectToAction("Index");

и хранимая процедура выглядит так:

ALTER PROCEDURE [dbo].[InsertSalesOrder]
    (@DateAdd datetime, 
     @DateUpdate datetime, 
     @Customer_Id int, 
     @Statues bit)
AS
BEGIN
    INSERT INTO SaleOrder ([DateAdd], [DateUpdate], [Customer_id], [statues])
        SELECT @DateAdd, @DateUpdate, @Customer_Id, @Statues 

    SELECT SCOPE_IDENTITY() 
END

Процедура возвращает идентификатор правильно, но переменная не хранит идентификатор - она ​​хранит что-то вроде параметра объекта.

Пожалуйста, помогите мне, я застрял на этом в течение нескольких часов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...