Мне сложно написать критерий для выбора всех сущностей с пустыми дочерними коллекциями или пустыми дочерними коллекциями. Я могу сделать это как отдельные критерии, но у меня возникают проблемы при объединении в один критерий.
структура класса:
public class Component
{
public IList<Version> Versions { get; set; }
}
public class Version
{
public IList<SubscribeEvent> SubscribedEvents { get; set; }
public IList<PublishEvent> PublishedEvent { get; set; }
}
Это не работает:
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);