Fluent NHibernate:列映射约定

Fluent NHibernate:列映射约定,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,我在执行以下约定时遇到一些问题: public class ColumnNameUpperConvention : IPropertyConvention { public void Apply(IPropertyInstance instance) { string cName = instance.Property.Name.ToUpper(); instance.Column(cName); } } 我希望上面的

我在执行以下约定时遇到一些问题:

public class ColumnNameUpperConvention : IPropertyConvention
{
    public void Apply(IPropertyInstance instance)
    {          
        string cName = instance.Property.Name.ToUpper();
        instance.Column(cName);
    }
}
我希望上面的代码能够将一个名为“Modified”的属性映射到一个名为“Modified”的列

这是我的配置:

var config =
    Fluently.Configure()
        .Database(OracleClientConfiguration.Oracle10
        .ConnectionString(c => c.FromConnectionStringWithKey(cstringName)))
        .Mappings(m =>
            {
                m.FluentMappings.AddFromAssemblyOf<AgilityObject>();
                m.AutoMappings.Add(
                        AutoMap.AssemblyOf<AgilityObject>(mappingConfiguration)
                       .Conventions.Add<ColumnNameUpperConvention>());
            })
        .ExposeConfiguration(x => x.SetProperty("current_session_context_class", "thread_static"))
        .ExposeConfiguration(x => x.SetProperty("generate_statistics", "true"))
        .BuildSessionFactory();
var配置=
fluent.Configure()
.Database(OracleClientConfiguration.Oracle10
.ConnectionString(c=>c.FromConnectionString WithKey(cstringName)))
.Mappings(m=>
{
m、 FluentMappings.AddFromAssemblyOf();
m、 自动映射。添加(
自动映射组装(映射配置)
.Conventions.Add());
})
.ExposeConfiguration(x=>x.SetProperty(“当前会话上下文类”、“线程静态”))
.ExposeConfiguration(x=>x.SetProperty(“生成_统计信息”、“true”))
.BuildSessionFactory();
当我调试时,我可以看到我的约定代码得到了执行,但它似乎实际上并没有做任何事情

我错过什么了吗


我在类映射中显式设置的映射是否会自动覆盖约定?上述约定存在例外情况,我想手动映射这些属性。

我的错。如果要使用自动映射,我需要使用IAutoMappingOverride而不是ClassMap