After my unit tests showed all green, there was still a bug in my code.
System.NotSupportedException: LINQ to Entities does not recognize the method ‘System.Collections.Generic.IList`1[iCal.ISchedulerEvent] ProcessItem(iCal.ISchedulerEvent)’ method, and this method cannot be translated into a store expression.
Solution is to call the ToList() method to get the data into dotNET.
var possibleResults = DbSet .Where(item => item.Start < request.End) .ToList(); // else the link-to-entities will complain var result = possibleResults .SelectMany(item => ProcessItem(item)) .OrderBy(item => item.Start) .FirstOrDefault();