我们的产品必须与多个客户/合作伙伴系统连接。例如,当一个人被添加/更新时,我们必须通知第三方系统的更改,例如通过调用 Web 服务或在文件夹中创建 xml 文件等。
SaveChanges 在数据库中成功持久化更改后,我们需要一个“钩子” 。
可以找到很多关于保存更改时如何执行业务逻辑的信息(在更改持久化到数据库之前),但很少有关于在更改持久化后执行逻辑的信息。
经过调查,我认为使用以下内容:
// Persist data
cxt.SaveChanges(false);
// TODO: execute business logic that can get data changes
// Discard changes and set entities as unmodified
ctx.AcceptAllChanges();
有没有人对这种情况有更好的解决方案?