2009-04-22 81 views

回答

1

想象一下AD支持的成员资格模型,它也将信息存储在SQL中。当创建用户时,您可能希望能够在AD和SQL中创建用户。生命周期事件让你有机会截获某些事件,如创建更新等,让你做一些事情。

+0

这个在线的任何例子? NHibernate是否为你接线这个事件做了部分工作?这与您如何解决EF中的相同问题有何不同? +1 – BuddyJoe 2009-04-22 12:25:49

0

NHibernate有一个事件系统,当NHibernate对你的实体做某事时,你会得到事件(实际上是回调函数)。回调可以在会话中注册,或者只是使用接口在实体中实现。

这种回调的用法有很多,它对于一个项目可能是至关重要的。许多人正在使用这些回调书写审计日志。或者只是更新一些未存储在数据库中的属性。 Ayende可能意味着“从其他位置获取数据”。

我不知道实体框架是否有生命周期回调。 NHibernate是非常非常非常可扩展的,你可以将自定义代码绑定到几乎每个部分。通常我怀疑实体框架是可扩展的。