为NHibernate中的一个属性执行自定义sql
据我所知,NHibernate内置了对时间戳的支持。但是,您似乎只能指示NHibernate从不更新属性或始终更新属性 在我目前正在处理的项目中,有几个表既有“为NHibernate中的一个属性执行自定义sql,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,据我所知,NHibernate内置了对时间戳的支持。但是,您似乎只能指示NHibernate从不更新属性或始终更新属性 在我目前正在处理的项目中,有几个表既有“created\u time”也有“updated\u time”,都是由数据库生成的 我不知道如何指示NHibernate对这两个属性使用“getdate()”仅在插入时为“created\u time”以及插入和更新时为“updated\u time”使用 这可能吗 PS:我正在使用一个遗留数据库,不允许更改它,因此触发器等都不是可能
created\u time
”也有“updated\u time
”,都是由数据库生成的
我不知道如何指示NHibernate对这两个属性使用“getdate()
”仅在插入时为“created\u time
”以及插入和更新时为“updated\u time
”使用
这可能吗
PS:我正在使用一个遗留数据库,不允许更改它,因此触发器等都不是可能的解决方案。您可以通过创建一个设置这些值的拦截器来解决这个问题,但当然,这些值不是由DBMS生成的
这可能是一个解决方法,因为我也不知道如何确保DB填充这些值,但我也对解决此问题的另一个解决方案感兴趣。:) 您使用的是哪个版本的NHibernate 在2.0中,属性上的“生成”标记有三个有效值:
- 从不(不言自明)
- 插入(仅在插入时检索生成的值)
- 始终(始终检索生成的值)