Как отобразить свойство сущности NHibernate, используя формулу и спецификацию столбца - PullRequest
0 голосов
/ 25 июня 2011

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

Чтобы сосредоточиться на реальной проблеме, я упростил пример,В действительности формула является немного более сложной и использует фильтр NHibernate.

<many-to-one cascade="all" class="Thing" lazy="false" name="MyThing"
    formula="(SELECT Things.Value FROM Things WHERE Things.Id = MyThingId)">
    <column name="MyThingId" />
</many-to-one>

Однако формула игнорируется, если я не удалю строку <column name="MyThingId" />.

Как бы я исправитьэто отображение, чтобы NHibernate использовал формулу?

1 Ответ

6 голосов
/ 25 июня 2011

Я не думаю, что можно делать именно то, что вы пытаетесь.

Почему бы не разделить имущество на две части? Один для чтения только для формулы, а другой для чтения / записи с прямым отображением столбцов ...

Если вам все еще нужна единая точка доступа, вы можете сопоставить третью игнорируемую собственность, которая реализует ее get и set средства доступа с двумя первыми свойствами.

...