我正在使用UserType在我的数据库中维护一个(创建的)列。
当保存到db时,我只是检查有问题的属性是否等于DateTime.MinValue,如果是,则将其更新为DateTime.Now (覆盖NullSafeSet)。然而,这个更新并不会立即被nhibernate反映出来,如果我没有驱逐它而再次加载对象,Created的值仍然是DateTime.MinValue。
除了使用Session.Evict()之外,还有没有其他方法可以让NHibernate返回的值返回更新后的值?
发布于 2010-03-15 18:30:14
您可以(或许应该)通过连接到插入前和更新前事件而不是使用IUserType来完成此操作。有关更多信息,请查看this question。
要对实体执行您想要的操作,您可以将evt.Entity转换为支持您的字段的接口(在本例中为IHasLastModified),并设置值。
https://stackoverflow.com/questions/2446340
复制相似问题