我正在尝试将 Fluent 的自动映射功能与 nHinbernate 结合使用,以映射一个名称与表本身名称不同的类。
(这纯粹是出于风格原因,我们有一个名为 Foo 的类,它包含一个名为 Bar 的对象,但表名称是 FooBar。我们宁愿没有属性 Foo.FooBar。)
我找不到任何详细说明如何为 Fluent 提供有关此更改的线索。
最佳答案
使用类映射,您可以在 mapping 中指定表名.
public class BarMap : ClassMap<Bar>
{
public BarMap()
{
Table("FooBar");
}
}
使用自动映射,您可以覆盖表名。
.Mappings( m => m.AutoMappings.Add( AutoMap.AssemblyOf<Bar>()
.Override<Bar>( b => {
b.Table("FooBar");
}))
您还可以使用 conventions影响所有实体的表命名。
关于c# - 流利的 : Table name different from entity name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2516716/