实体框架和全局数据通过提供者模式保存/更新处理程序

时间:2011-04-12 21:17:45

标签: entity-framework provider

我是实体框架的新手。之前我使用过其他数据持久层,并希望在我开发的其他应用程序中完成以下我习惯的事情。 我想询问是否可以使用EF并获得一些如何做的指导

我希望每次将实体保存到数据库(添加/更新),有一个我可以“附加”的钩子,通过Provider模式,在保存之前/之后必须调用的各种功能,交易方式。例如,我可能想要实现AuditProvider。如果正在保存的实体实现接口IAuditEnabled,则会调用此接口,该接口添加属性SysAddUser,SysAddDate,SysUpdateUser,SysUpdateDate(允许设置添加/更新记录的用户以及在何时)。另一个功能是调用BusinessEntityEnforcerProvider,它检查业务对象是否实现IBusinessEntityEnforcer接口并调用方法EnforceBusinessRules。只是很少的想法。

为了澄清,我想有可能在保存之前/之后将各种功能挂钩到业务对象,我不想特别调用,但要确保在BO之前或之后始终调用它们保存。

我感谢任何建议。

谢谢

1 个答案:

答案 0 :(得分:2)

实体框架Object Context是作为部分类生成的。您可以扩展实现并覆盖SaveChange方法,以便在每次保存之前和之后执行代码。