Comment obtenir une nette résultat avec nHibernate et QueryOver API?

J'ai ce Référentiel méthode

    public IList<Message> ListMessagesBy(string text, IList<Tag> tags, int pageIndex, out int count, out int pageSize)
    {
        pageSize = 10;
        var likeString = string.Format("%{0}%", text);
        var query = session.QueryOver<Message>()
            .Where(Restrictions.On<Message>(m => m.Text).IsLike(likeString) || 
            Restrictions.On<Message>(m => m.Fullname).IsLike(likeString));

        if (tags.Count > 0)
        {
            var tagIds = tags.Select(t => t.Id).ToList();
            query
                .JoinQueryOver<Tag>(m => m.Tags)
                .WhereRestrictionOn(t => t.Id).IsInG(tagIds);
        }            

        count = 0;
        if(pageIndex < 0)
        {
            count = query.ToRowCountQuery().FutureValue<int>().Value;
            pageIndex = 0;
        }
        return query.OrderBy(m => m.Created).Desc.Skip(pageIndex * pageSize).Take(pageSize).List();
    }

Vous fournir un texte libre de la chaîne de recherche et une liste de Balises.
Le problème est que si un message a plus d'un tag, il est répertorié dupliqué fois.
Je veux une nette résultat basé sur le Message de l'entité. J'ai regardé

Projections.Distinct

Mais il nécessite une liste de Propriétés à la question distincte sur. Ce Message est mon entité racine il y a plus être un moyen d'obtenir ce comportement, sans fournir l'ensemble des propriétés d'entité?

Merci d'avance, Anders

InformationsquelleAutor Anders | 2011-01-06