С NHibernate, как я могу заполнить сложный тип при использовании хранимого процесса? - PullRequest
1 голос
/ 16 мая 2011

Я использую NHibernate с хранимой процедурой, но у меня возникают проблемы при заполнении сложного типа.

Если не использовать сохраненный процесс, я бы настроил отображение следующим образом ...

 <property name="RoleEndDate"
  type="Mdl.Common.Persistence.EndDateUserType, Mdl.Common.Persistence">
  <column name="DateEnd"/>
  <column name="DateEndAssumed"/>
</property>

Однако, когда я пытаюсь сделать то же самое с сопоставлением sql-запроса, мой класс EndDateUserType завершается сбоем, поскольку переданные ему имена столбцов не обнаруживаются в считывателе данных. Имена являются сгенерированными именами NHibernate (например, DateEnd14_0_), а не фактическими именами столбцов (DateEnd).

Возможно ли сопоставление со сложными типами при работе с сохраненным процессом?

1 Ответ

1 голос
/ 16 мая 2011

Вам также необходимо сопоставить столбцы в части sql-запроса файла сопоставления, например так ...

<return-property name="RoleEndDate">
    <return-column name="DateEnd" />
    <return-column name="DateEndAssumed" />
  </return-property>
...