我们可以在Fluent NHibernate中拥有主键列的自定义名称吗?

时间:2008-12-17 06:22:37

标签: .net nhibernate fluent-nhibernate nhibernate-mapping

当我在Fluent NHibernate工作时,我很惊讶。我的遗留数据库的主键列名与域模型中的属性不同。我确信我可以使用这个映射文件:

<class name="Person">
  <id name="Id" column="CommentId">
      <generator class="native"/>
  </id>
  <property name="Description" type="String" />
</class>

但是我如何在Fluent NHibernate映射中获得这种映射?

1 个答案:

答案 0 :(得分:1)

以下Fluent-NHibernate映射:

public class PersonMap : ClassMap<Person>
{
    public PersonMap()
    {
        Id(x => x.Id, "CommentId")
            .GeneratedBy.Native();

        Map(x => x.Description);
    }
}

生成此XML映射:

  <class name="Person" table="[Person]" xmlns="urn:nhibernate-mapping-2.2">
    <id name="Id" column="CommentId" type="Int32">
      <generator class="native" />
    </id>
    <property name="Description" column="Description" length="100" type="String">
      <column name="Description" />
    </property>
  </class>