Nhibernate Session.Get和Session.Load命令忽略筛选器
我正在使用带有过滤器的映射 但是当我试图持久化我的对象时,它首先想要得到一个快照(因为我的Id是一个字符串) 以下是过滤器定义映射:Nhibernate Session.Get和Session.Load命令忽略筛选器,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,我正在使用带有过滤器的映射 但是当我试图持久化我的对象时,它首先想要得到一个快照(因为我的Id是一个字符串) 以下是过滤器定义映射: <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> <filter-def name='LanguageFilter' > <filter-param name='Id' type='System.Int32' /> </filter-def>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<filter-def name='LanguageFilter' >
<filter-param name='Id' type='System.Int32' />
</filter-def>
</hibernate-mapping>
这篇文章(评论4)说session.Get和Load忽略了过滤器
还有其他选择吗,因为我需要这种语言是可变的。好的,我所做的是:我没有使用SaveOrPersist,而是在新的时候保存,在旧的时候保存。这没有执行额外的get
session.EnableFilter("LanguageFilter").SetParameter("Id", 1);
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<filter-def name='LanguageFilter' >
<filter-param name='Id' type='System.Int32' />
</filter-def>
</hibernate-mapping>