Hi,
How do i translate the following SQL part to ICriteria:
t.ID not in
(
select pi.TrackID from PlaylistPeriod pp inner join PlaylistItem pi on pi.PeriodId == pp.Id
where pp.StartTime - t.HourNumber > NOW() and pp.StartTime+t.HourNumber < NOW()
)
Problems with to parts:
this: pp.StartTime - t.HourNumber and pp.StartTime+t.HourNumber
That are to properties.
The other problem is i want to use a value from the querie above: t.HourNumber; how can i use that in my subqeury?
My Code
Code:
ISession session = NHibernateFactory.OpenSession();
ICriteria crit = session.CreateCriteria(typeof(Track), "t");
//Uitsluiten Track
DetachedCriteria dc = DetachedCriteria.For<PlaylistItem>();
dc.CreateCriteria("Period")
.Add(Expression.Ge( "StartTime ", DateTime.Now))
.Add(Expression.Le("StartTime + t.HourNumber", DateTime.Now));
dc.SetProjection(Projections.Property("Track"));
criteria2.Add(Subqueries.NotExists(dc));
//Uitvoeren Query
IList<Track> result = crit.List<Track>();