2009-01-27 7 views
4

Il y a besoin d'une requête NHibernate pour plusieurs instances de l'entité. J'ai essayé le code suivant, mais il a échoué avec l'extension NRE câblée de NHibernate.HQL dans l'opérateur et les paramètres

var query = NHibernateSession.CreateQuery("from User u where u.id in (:ids)"); 
query.SetParameterList("ids", new Guid[]); 
query.ToList(); 

Il ressemble à un problème commun - des suggestions?

Mise à jour Cela se produit uniquement si le tableau est vide - question fermée.

Répondre

1

: ids serait un tableau Guid vide, n'est-ce pas? Vous demandez à NHibernate de vous indiquer où se trouve l'identifiant dans un tableau de Guid non initialisé.

+0

Oui, je le sais. C'est juste un exemple. Remplacer new Guid [] par new [] {Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid(), Guid.NewGuid()} –

+1

Mais Guid est supposé vous donner cet identifiant unique. Vous demandez des identifiants sur une base de données qui sont les mêmes que certains nouveaux identifiants uniques. Si je ne comprends pas, dites-le moi et je vais supprimer cette réponse;) –

+0

Vous ne l'obtenez pas, mais vous avez raison :) Erreur se produit uniquement sur tableau vide. Je viens de le tester sur DB vide. –