EF Core 中拦截保存后和拦截预提交有什么区别?

问题描述 投票:0回答:1

换句话说,覆盖

SaveChangesInterceptor.SavedChanges()
DbTransactionInterceptor.TransactionCommitting()
之间有什么区别? 我想此时存储审核日志(在另一个存储位置,而不是在数据库中),所以我的问题是代码执行中这两点之间有什么区别? 拦截器文档:Microsoft docs

c# entity-framework entity-framework-core
1个回答
0
投票

这显然是有区别的,因为如果我不使用事务,就不会有预提交阶段。就我而言,由于我am使用事务,并且我知道我需要等到数据库保存后才能存储审核日志(因为我需要新创建的实体的ID),所以我使用保存后拦截器 -

SaveChangesInterceptor.SavedChanges()
.

© www.soinside.com 2019 - 2024. All rights reserved.