FluentNhibernate を使用してその NHibernate マッピングを自動的に構築したいモデル ライブラリがあります。このモデルに追加したい規則があります。それは、各テーブル名が「s」で終わるというものです。だからここに私がすることです:
new AutoPersistenceModel()
.AddEntityAssembly(typeof(User).Assembly)
.Conventions.Add(typeof(ClassConvention))
.WriteMappingsTo(@"E:\Temp\");
ClassConvention のコードは次のとおりです。
private class ClassConvention:IClassConvention
{
public void Apply(IClassInstance instance)
{
instance.Table(instance.EntityType.Name+"s");
}
}
このコードを実行すると、クラスタグにテーブル属性が追加されません。私のコードの何が問題なのかを理解するのを手伝ってください。
アップデート:
コードをデバッグしましたが、次の行が確実です。
instance.Table(instance.EntityType.Name+"s");
と呼ばれます。