J'essaye de construire une requête dans NHibernate pour retourner une liste de clients sans commandes correspondant à un critère spécifique.Requête Nhibernate et n'existe pas
Mon objet client contient un ensemble de commandes:
<set name="Orders">
<key column="CustomerID" />
<one-to-many class="Order" />
</set>
Comment puis-je contruct une requête en utilisant l'API ICriteria NHibernate pour obtenir une liste de tous les clients qui ont pas d'ordre? En utilisant SQL natif, je suis en mesure de représenter la requête comme ceci:
select * from tblCustomers c where not exists
(select 1 from tblOrders o where c.ID = o.CustomerID)
Je suis incapable de comprendre comment faire cela en utilisant des alias et des objets DetatchedCriteria. Toute orientation serait appréciée!
Merci!
Merci, je pense que cela me permettra de démarrer. NHibernate se plaindra-t-il de l'utilisation de o.CustomerID ... cette colonne est dans la base de données mais n'est pas mappée en tant que colonne dans ma classe Order. (NHibernate l'a ajouté automatiquement comme spécifié dans l'ensemble du client en tant que colonne de clé.) – Dan
oh..c'est exact, il doit être 'o.Customer.ID' – dotjoe
Est-ce que les deux entités doivent être mappées les unes aux autres pour que tout fonctionne ? Parce que actuellement je ne peux pas entrer dans la déclaration, même intellisense ne le met pas en évidence. –