I've tried running a query in the form
stuff.Where(s => maxDate > (s.IdNav1.HasValue
But the generated query was composed of inner joins on Nav1 and Nav2, and consequently returned too few results.
stuff.Where(s => s.IdNav1.HasValue && s.Nav1.Date < maxDate
|| !s.IdNav1.HasValue && s.IdNav2.HasValue && s.Nav2.Date < maxDate
|| !s.IdNav1.HasValue && !s.IdNav2.HasValue && s.Date < maxDate);
(This generates "exists" clauses, no joins.)
Am I doing something incorrectly or is this a bug?
The Telerik version we're using is 2013.3.1211.3.