在Fluent NHibernate中命名表和列

在Fluent NHibernate中命名表和列,nhibernate,postgresql,naming,fluent,Nhibernate,Postgresql,Naming,Fluent,我试图通过在fluent Nhibernate中访问其类映射的表(“”)和列(“”)属性来更改Employee实体的表名和列名 public class EmployeeMap : ClassMap<Employee> { public EmployeeMap() { Table("Employees"); Id(x => x.Id); Map(x => x.FirstName) .Co

我试图通过在fluent Nhibernate中访问其类映射的表(“”)和列(“”)属性来更改Employee实体的表名和列名

public class EmployeeMap : ClassMap<Employee>
{
    public EmployeeMap()
    {
        Table("Employees");
        Id(x => x.Id);
        Map(x => x.FirstName)
           .Column("EmpFirstName");
        Map(x => x.LastName);
           .Column("EmpLastName")
        References(x => x.Store);
     }
 }
公共类EmployeeMap:ClassMap
{
公共雇员地图()
{
表(“雇员”);
Id(x=>x.Id);
映射(x=>x.FirstName)
.列(“名称”);
Map(x=>x.LastName);
.列(“EmpLastName”)
参考(x=>x.Store);
}
}
但是,我的Postgresql数据库中出现的表名和列名都是小写的,而不是我指定的名称,即Employees->Employees和EmpFirstName->EmpFirstName

如何设置表名和列名,使其与我在employee映射中指定的字母大小写完全相同

谢谢, 标记

尝试设置NHibernate的选项

<property name="hbm2ddl.keywords">auto-quote</property>
自动报价
我的客人问题出在:

PostgreSQL认为标识符FOO、FOO和“FOO”是相同的,但“FOO”和“FOO”彼此不同


我更喜欢斯莱的答案,但你可以不受惩罚(但这很难看):

公共类EmployeeMap:ClassMap
{
公共雇员地图()
{
表(“雇员”);
Id(x=>x.Id);
映射(x=>x.FirstName)
.列(“\”EmpFirstName\”);
Map(x=>x.LastName);
.Column(“\”EmpLastName\”)
参考(x=>x.Store);
}
}
编辑此处是如何通过命名策略实现此功能的链接:

@OP:看看这里如何在FNH中实现这一点->
public class EmployeeMap : ClassMap<Employee>
{
    public EmployeeMap()
    {
        Table("Employees");
        Id(x => x.Id);
        Map(x => x.FirstName)
           .Column("\"EmpFirstName\"");
        Map(x => x.LastName);
           .Column("\"EmpLastName\"")
        References(x => x.Store);
     }
 }