Entity Framework Core обнаруживает изменения в базе данных - PullRequest
0 голосов
/ 28 апреля 2020

Я хотел бы вызывать функцию каждый раз, когда в базе данных происходят какие-либо изменения. Как узнать, обновилась ли база данных, и вызвать функцию в тот же момент?

1 Ответ

0 голосов
/ 28 апреля 2020

Если вы используете EntityFramework Core , вы можете переопределить метод SaveChanges() в DbContext файле и вызывать свою функцию следующим образом.

public override int SaveChanges()
{
    // call your function before changes 
    return base.SaveChanges();
    // call your function after changes 
}

И когда вы добавляете любое изменение в DataBase и вызываете SaveChanges() метод, ваши функции запускаются автоматически.

Вы можете получить все изменения в EF , например,

public override int SaveChanges()
{
    var changedEntities = ChangeTracker.Entries().ToList();
    // call your function before changes 
    return base.SaveChanges();
    // call your function after changes 
}
...