Можно ли привязать скалярный результат запроса к свойству в nhibernate?

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

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

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

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

1 ответ

Решение

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

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

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

Другие вопросы по тегам