1

因此,您实例化一个 EF 上下文,将对象推入或拉出,它会跟踪对象更改的完整状态(如果更改跟踪打开)。到目前为止,开发人员一直负责进行这些修改。但是一旦调用 SaveChanges,所有这些记录都会被批量提交,开发人员被剥夺了最终结果的权利,在错误时保存错误消息或在完成时成功调用。

有没有办法自定义 SaveChanges 过程,使其不是这样的黑匣子?理想情况下,能够自定义流程真的会为我打开很多东西,尤其是对于我的应用程序架构。

谢谢。

4

1 回答 1

3

处理SavingChanges事件是一种方式,但对于更复杂的处理,您可以SaveChanges在派生上下文中覆盖操作本身。不同之处在于SavingChanges您可以在SaveChanges执行其工作之前放置自定义逻辑,但是在覆盖时SaveChanges您可以在调用之前和之后放置自定义逻辑base.SaveChanges。保存期间对自定义逻辑没有更好的支持。只有将存储过程映射到实体的数据修改操作时,才能使用自定义 SQL 进行保存。

于 2011-07-23T09:32:20.650 回答