2010-01-25 4 views
1

J'ai une entité qui a une propriété qui ne tire pas sa valeur de la table de l'entité. Mais il pourrait être calculé par une requête si c'est possible.Est-il possible de lier un résultat de requête scalaire à une propriété dans nhibernate?

Pour clarifier, j'ai une entité d'un Entrée et je veux vérifier si l'utilisateur actuel l'a voté ou non. Donc pour cette raison j'ai pensé que je pourrais ajouter une propriété comme "IsCurrentUserVoted" à l'entité Entry. Et s'il est possible de lier sa valeur à partir d'une requête comme "select count(*) from vote where userId = :currentUser".

Je me demande si nhibernate supporte ce genre de fonctionnalité ou si c'est le seul moyen de rejoindre les tables de vote et d'entrée? Si ce n'est pas le cas, quelle serait votre solution dans ce cas.

Merci d'avance.

Répondre

1

Oui, je pense que vous pouvez le faire avec le formula property ...

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

Je ne suis pas positif sur la syntaxe, vous pourriez avoir besoin d'utiliser une fonction scalaire pour envelopper la requête. En outre, il peut être préférable d'exécuter cette requête uniquement si nécessaire, sauf si vous avez vraiment besoin de cette valeur chaque fois que vous obtenez une entrée.

+0

Merci pour votre réponse, je vais essayer. –

Questions connexes