Fluent nhibernate FluentNHibernate自动映射:ClassConvention不起作用

Fluent nhibernate FluentNHibernate自动映射:ClassConvention不起作用,fluent-nhibernate,conventions,automapping,Fluent Nhibernate,Conventions,Automapping,我有一个模型库,我想使用FluentNhibernate自动构建它的NHibernate映射。 我想在这个模型中添加一个约定,即每个表名都以“s”结尾。 下面是我的工作: new AutoPersistenceModel() .AddEntityAssembly(typeof(User).Assembly) .Conventions.Add(typeof(ClassConvention)) .WriteMappingsTo(

我有一个模型库,我想使用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");

被调用。

您的约定定义类应该是public而不是private

您使用哪个版本的Fluent NHibernate?对:)但这是一个输入错误。