Ayham24254 Ответов: 1

Как я могу вызвать функцию перед dbcontext. savechange


Я ищу что-то вроде слушателя, чтобы я мог выполнять функцию Автоматически после сохранения изменений в MVC5
например :
У меня есть таблица под названием Задачи ,
когда я вызываю метод
Tasks.Add(task) ;
dbcontext.savechange();

после сохранения я хочу вызвать метод Addlog()
которые добавляют новый журнал в таблицу журналов

без необходимости вызывать метод AddLog() после каждой вставки ,

Что я уже пробовал:

что-то вроде функций вызова
при создании модели или обновлении модели ...

1 Ответов

Рейтинг:
0

Dave Kreskowiak

Зайдите в реализации DbContext и переопределить метод SaveChanges.

Там, если вы позвоните в base.SaveChanges() сначала метод, а потом вы можете делать все, что хотите. Не меняйте больше вещей в базе данных и не вызывайте SaveChanges изнутри вашего метода SaveChanges, иначе вы окажетесь в бесконечном цикле до тех пор, пока не разобьете приложение, исчерпав пространство стека вашего приложения.

Теперь, если вы внесете дополнительные изменения перед вызовом base.SaveChanges() метод, это не будет проблемой.