【发布时间】:2014-08-11 08:31:26
【问题描述】:
我是 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);
}
消息“无法将 'NHibernate.Mapping.Formula' 转换为 'NHibernate.Mapping.Column'。” 和堆栈跟踪的顶部:在 System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext() (...) 中的 " w NHibernate.Envers.Tools.MappingTools.b__0(ISelectable f) 中
我尝试通过添加 [NotAudited] 和 [Audited(TargetAuditMode = RelationTargetAuditMode.NotAudited)] 来禁用对此属性的审核,但没有帮助。
它可以在没有 Envers 的情况下工作(禁用 ConfigureEnvers 方法)。
感谢任何帮助/想法,谢谢!
【问题讨论】:
标签: c# nhibernate nhibernate-envers