FluentNHibernate AutoMapping:ClassConvention不起作用

时间:2012-11-05 09:57:10

标签: fluent-nhibernate conventions automapping

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

被召唤。

1 个答案:

答案 0 :(得分:0)

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