C# 实体框架核心检测对数据库的更改
每当数据库发生任何类型的更改时,我都要调用一个函数。 如何查看数据库是否已更新并在同一时刻调用函数?如果使用EntityFramework Core,则可以覆盖C# 实体框架核心检测对数据库的更改,c#,database,entity-framework-core,C#,Database,Entity Framework Core,每当数据库发生任何类型的更改时,我都要调用一个函数。 如何查看数据库是否已更新并在同一时刻调用函数?如果使用EntityFramework Core,则可以覆盖DbContext文件中的SaveChanges()方法并像这样调用函数 public override int SaveChanges() { //在更改之前调用函数 返回base.SaveChanges(); //更改后调用函数 } 当您在数据库中添加任何更改并调用SaveChanges()方法时,您的函数将自动运行 您可以像这样获
DbContext
文件中的SaveChanges()
方法并像这样调用函数
public override int SaveChanges()
{
//在更改之前调用函数
返回base.SaveChanges();
//更改后调用函数
}
当您在数据库中添加任何更改
并调用SaveChanges()
方法时,您的函数将自动运行
您可以像这样获得EF中的所有更改
public override int SaveChanges()
{
var changedEntities=ChangeTracker.Entries().ToList();
//在更改之前调用函数
返回base.SaveChanges();
//更改后调用函数
}
具有可检查的数据库变量版本。该函数的作用是什么?如果该函数与数据库相关,那么我建议使用触发器来完成此操作。什么样的应用程序正在运行,需要检查更改?该功能并不重要,我相信,我想能够触发任何类型的功能,但对于这个项目,我想调用一个函数来更新一些谷歌联系人。我希望有一个事件我可以听到内置到ef,但我没有找到一个。你需要提供更多的细节,你到底想要什么,“任何类型的变化”是相当模糊的。你在使用什么数据库?SqlServer、Oracle、MySql,还有其他的吗?