Пожалуйста, обратите внимание этот код - я создал хранимую процедуру:Вызов хранимой процедуры из Entity Framework 6.1.3-код первой
CREATE PROCEDURE InsertRegion
@RegionID int,
@RegionDesc nvarchar(50)
AS
BEGIN
INSERT INTO [dbo].[Region]
VALUES (@RegionID, @RegionDesc)
END
, и я хочу, чтобы вызвать эту процедуру из моего репозитория класса:
using (Model1 ent = new Models.Model1())
{
List<SqlParameter> parameters = new List<SqlParameter>();
parameters.Add(new SqlParameter("RegionID", 100));
parameters.Add(new SqlParameter("RegionDesc", "Nima"));
ent.Database.SqlQuery<Region>("exec InsertRegion", parameters.ToArray());
}
, но ничего не происходит. Я меняю последнюю строку на:
ent.Database.SqlQuery<Region>("exec InsertRegion @RegionID, @RegionDesc ", parameters.ToArray());
но опять же ничего не происходит.
Где проблема?
Благодаря
Вы не получите какую-либо ошибку? Что произойдет, если вы попытаетесь выполнить процедуру непосредственно против БД с помощью SQL Management Studio? –
он проходит до конца метода без каких-либо ошибок и ничего не происходит. Когда я исполняю sp, запись будет вставляться в таблицу – Arian
. Вы можете попробовать отладить и просмотреть сгенерированный SQL (http://stackoverflow.com/a/20751723/2804621). Или вы можете запустить профилировщик SQL, чтобы узнать, сделан ли вызов в БД. –