Можем ли мы иметь собственное имя столбца первичного ключа в Fluent NHibernate?

Я так удивлен, пока работаю в Fluent NHibernate. У меня есть устаревшая база данных, в которой имя столбца первичного ключа отличается от моего свойства в модели домена. Я уверен, что могу использовать этот файл сопоставления:

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

Но как я действительно получаю это сопоставление в сопоставлении Fluent NHibernate?


person Samnang    schedule 17.12.2008    source источник


Ответы (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>
person Erik Öjebo    schedule 17.12.2008