NHibernate - не работает запрос выбора в атрибуте формулы элемента Property - PullRequest
2 голосов
/ 07 июля 2010

Я новичок в NHibernate.Я использую следующие элементы свойства в моем файле hbm ...

<property name="CountryId" length="4" />
<property name="CountryForCustomer"
              formula="(SELECT *
                            FROM SystemCountry  
                            WHERE SystemCountry.CountryId = CountryId)" />

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

Property "CountryForCustomer "имеет пользовательский тип" SystemCountry ".

Но этот запрос в формуле не работает.*

Ответы [ 2 ]

2 голосов
/ 07 июля 2010

Не должно быть

SELECT SystemCountry.Country FROM SystemCountry WHERE...

, поскольку * возвращает несколько столбцов из запроса

edit Если вы хотите вернуть весь объект обратно, то элемент property здесь не ваш друг. Что вы хотите сделать, так это взглянуть на элемент «многие к одному», обратите внимание, что это всего лишь один из способов сделать это.

<many-to-one name="CmsTemplate" column="TemplateId" ..

например. здесь или здесь

0 голосов
/ 05 января 2012

Отображение формулы не отображает свое значение из базы данных, оно отображает свое значение из набора данных, который загружен в сеансе

...