J'ai des difficultés à écrire un critère pour sélectionner toutes les entités avec des collections enfants vides ou des collections grand-enfant vides. Je peux les faire en tant que critères distincts, mais j'ai de la difficulté à les combiner en un seul critère.nHibernate Critères de sélection de toutes les entités avec des collections enfants vides
structure de classe:
public class Component
{
public IList<Version> Versions { get; set; }
}
public class Version
{
public IList<SubscribeEvent> SubscribedEvents { get; set; }
public IList<PublishEvent> PublishedEvent { get; set; }
}
Cela ne fonctionne pas:
return session
.CreateCriteria<Component>("c")
.CreateCriteria("Versions", "v")
.Add(Restrictions.Or(Restrictions.IsEmpty("c.Versions"), Restrictions.And(Restrictions.IsEmpty("v.PublishedEvents"),
Restrictions.IsEmpty("v.SubscribedEvents"))))
.SetCacheable(true);
Comment ça ne marche pas? Avez-vous une exception? Obtenez-vous des résultats inattendus? Aucun résultat? –
quel est le sql généré? – dotjoe
Il était retourné les mauvais résultats. – AwkwardCoder