Fluent:表名与实体名不同

Mat*_*att 3 c# nhibernate fluent-nhibernate

我试图使用Fluent与nHinbernate的自动化功能来映射一个名称与表名不同的类.

(这纯粹是出于文体原因,我们有一个名为Foo的类,它包含一个名为Bar的对象,但表名是FooBar.我们宁愿没有属性Foo.FooBar.)

我找不到任何详细说明如何给Fluent提供这一变化线索的信息.

Lac*_*che 7

使用classmap,您可以在映射中指定表名.

public class BarMap : ClassMap<Bar>
{
    public BarMap()
    {
        Table("FooBar");
    }
}
Run Code Online (Sandbox Code Playgroud)

使用automap,您可以覆盖表名.

.Mappings( m => m.AutoMappings.Add( AutoMap.AssemblyOf<Bar>()
    .Override<Bar>( b => {
        b.Table("FooBar");
}))
Run Code Online (Sandbox Code Playgroud)

您还可以使用约定来影响所有实体的表命名.