私は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' にキャストできません。」およびスタック トレースの先頭: in " w NHibernate.Envers.Tools.MappingTools.b__0(ISelectable f) in System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext() (...)
[NotAudited]
andを追加して、このプロパティの監査を無効にしようとしました[Audited(TargetAuditMode = RelationTargetAuditMode.NotAudited)]
が、役に立ちませんでした。
Envers なしで動作します (ConfigureEnvers メソッドが無効になっています)。
どんな助け/アイデアも大歓迎です、ありがとう!