NHibernate Envers - 与同一类型的多对多关系出错

时间:2014-08-11 08:31:26

标签: c# nhibernate nhibernate-envers

我对NHibernate Envers完全陌生,我在实体映射多对多关系中添加了新字段。

public class Product 
{
// initialization in ctor
...
public virtual ISet<FundProduct> ExcludedFromConversion { get; set; }
...
// mapping in ClassMap
            Set(x => x.ExcludedFromConversion, m =>
            {
                m.Table("ExcludedProduct");
                m.Cascade(Cascade.None);
                m.Key(k => k.Column("ProdId"));
            }, map => map.ManyToMany(p => p.Column("ExcludedProdId")))
...
}

并且Envers配置中的这一行不断抛出异常:

protected virtual void ConfigureEnvers() 
{
...       
configuration.IntegrateWithEnvers(enversConf);
}

消息&#34;无法投射&#39; NHibernate.Mapping.Formula&#39;到了NHibernate.Mapping.Column&#39;。&#34; 和堆栈顶部的跟踪:在&#34;在System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()(...)

中的NHibernate.Envers.Tools.MappingTools.b__0(ISelectable f)

我尝试通过添加[NotAudited][Audited(TargetAuditMode = RelationTargetAuditMode.NotAudited)]来禁用此问题的审核,但它没有帮助。

没有Envers(禁用ConfigureEnvers方法)。

感谢任何帮助/想法,谢谢!

1 个答案:

答案 0 :(得分:0)

可能是this问题。它已经修复了最新的envers版本(2.0 CR1 - 它刚刚发布)。你用的是哪个版本?