EF error: Store update, insert, or delete statement affected an unexpected number of rows (0)

185
07 апреля 2018, 19:15

Есть метод, который добавляет запись в БД

    public void AddAsync(T entity)
    {
        dbContext.Set<T>().Add(entity);
        dbContext.SaveChanges();
    }

В параметры передается экземпляр класса Post.

Для таблицы Posts создан триггер, который обращается к другой БД, где хранятся данные о пользователях и соответственно осуществляет поиск.

INSTEAD OF INSERT
AS
BEGIN
DECLARE @UserId NVARCHAR(MAX) = (SELECT UserId FROM inserted)
DECLARE @Content NVARCHAR(MAX) = (SELECT Content FROM inserted)
DECLARE @PublishTime DATE = (SELECT PublishTime FROM inserted)
SELECT @UserId = (SELECT Id  --Поиск пользователя в таблице AspNetUsers
FROM SlackIdentityDB.dbo.AspNetUsers
WHERE Id = @UserId);
IF @UserId IS NOT NULL --Если пользователь найден
  INSERT INTO Posts(UserId,Content,PublishTime) VALUES(@UserId,@Content,@PublishTime);
ELSE ROLLBACK;
END

Однако при запуске приложения генерируется исключение

Как исправить эту ошибку?

Answer 1

Как по традиции, отвечу на свой вопрос сам.Эта проблема решается добавлением в конец триггера select-запроса с параметрами(@@ROWCOUNT > 0 and Id = scope_identity())

SELECT Id
FROM *Таблица, для которой создается триггер*
WHERE @@ROWCOUNT > 0 and Id = scope_identity();
READ ALSO
Помощь новичку который вообще не шарит в программировании [требует правки]

Помощь новичку который вообще не шарит в программировании [требует правки]

Я не понимаю ,что такое фреймворки ,для чего они нужныТакже я не понимаю ,разве можно совмещать языки программирования,если да то как?Помогите...

197
Как отслеживать координаты Обьекта

Как отслеживать координаты Обьекта

Мне для игры нужно сделать 3D миникарту, но не знаю как отслеживать все координаты персонажаИгра на C#, Unity

223
Как увеличить память под стек c# visual studio

Как увеличить память под стек c# visual studio

Как увеличить память под стек c# visual studio,чтобы избежать stack overflow exception

205
Расширение Chrome: как передать в контент background-image?

Расширение Chrome: как передать в контент background-image?

Пишу расширение для хромаОдна из задач - добавлять на страницу дополнительные элементы-ссылки, выглядящие определенным образом

255