I owe you the "elegant" part ... :-)
HQL. , : "A, MyList ", "A, MyList ".
from A a
where a not in
(select a1
from A a1, B b
where b.Date >= :date
and b in elements(a1.MyList))
:
var results = session.CreateQuery("hql from above")
.SetParameter("date", DateTime.Today)
.List();
, A B ( A), :
from A a
where a not in
(select b.A
from B b
where b.Date >= :date)
: , :
session.CreateCriteria<A>().Add(
Subqueries.PropertyNotIn("id",
DetachedCriteria.For<A>()
.CreateCriteria("MyList")
.SetProjection(Projections.Property("id"))
.Add(Restrictions.Ge("Date", DateTime.Today))))