1

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

叫做。

4

1 回答 1

0

您的约定定义类应该是公共的而不是私有的

于 2012-12-27T22:58:16.250 回答