Можно ли привязать скалярный результат запроса к свойству в nhibernate? - PullRequest
1 голос
/ 26 января 2010

У меня есть объект, у которого есть свойство, которое не получает свое значение из таблицы объекта. Но это может быть рассчитано по запросу, если это возможно.

Чтобы уточнить, у меня есть объект Entry , и я хочу проверить, проголосовал ли текущий пользователь или нет. По этой причине я подумал, что мог бы добавить свойство типа «IsCurrentUserVoted» к сущности Entry . И если возможно связать его значение из запроса типа "select count(*) from vote where userId = :currentUser".

Интересно, поддерживает ли nhibernate такую ​​функцию или это единственный способ присоединиться к таблицам голосования и ввода? Если это не так, каким будет ваше решение в этом случае.

Заранее спасибо.

1 Ответ

1 голос
/ 26 января 2010

Да, я думаю, вы можете сделать это с помощью свойства формулы ...

<property name="IsCurrentUserVoted" formula="select count(*) from vote where userId=Id" />

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...