C# 忽略NHibernate合并中的字段
我已经在我的大多数实体的NHibernate配置中映射了ModifiedDate。 每个实体都继承以下内容:C# 忽略NHibernate合并中的字段,c#,nhibernate,C#,Nhibernate,我已经在我的大多数实体的NHibernate配置中映射了ModifiedDate。 每个实体都继承以下内容: public interface IAuditable { string ModifiedBy { get; set; } DateTime ModifiedDate { get; set; } } 每个类都将这些字段映射到数据库,因为我们希望这些值读入每个实体。我使用fluent配置和map类 我已经实现了IPreInsert和IPreUpdate事件侦听器来更新修改
public interface IAuditable {
string ModifiedBy { get; set; }
DateTime ModifiedDate { get; set; }
}
每个类都将这些字段映射到数据库,因为我们希望这些值读入每个实体。我使用fluent配置和map类
我已经实现了IPreInsert
和IPreUpdate
事件侦听器来更新修改人和修改日期。这样,框架将更新审计值。我在这里使用了代码:
如何确保无论ModifiedBy和ModifiedDate中的值是什么,它们都不会被认为是脏的,并且它们本身不会使实体变脏?只有当其他字段发生更改时,实体才必须是脏的。请您澄清修改日期是什么意思? 据我所知: 您有一些包含安全审计数据的实体,例如:
public class SomeEntity {
...
public DateTime CreatedDate { get; set; }
public DateTime? ModifiedDate { get; set; }
...
}
您是否尝试使用ISession.Merge函数合并实体
你下面的陈述是什么意思?你能再解释一下吗
我希望保存并加载日期,但我希望NHibernate合并函数忽略修改的日期,以便查找更改
您可能正在寻找创建一个。您可以创建一个继承自
NHibernate.Event.Default.DefaultMergeEventListener
,并显式处理这些日期。我已经编辑了这个问题。我想我已经说得更清楚了。谢谢