Я переживаю кризис из-за того, что кажется таким простым, но все же не работает.Вот мой сценарий.
У меня есть объектная структура tEvents, которая содержит свойства события, например, серии концертов.tEvents, в свою очередь, содержит набор сущностей tEventOptions, который включает в себя такие свойства, как EventDate, Cancelled и т. д. Я хотел бы запросить список tEvents, используя свойства tEventOptions, например, фильтрацию по дате.
Моя страница используетобъект календаря для отображения дат событий.Поэтому я пытаюсь найти, совпадают ли какие-либо события tEvents в списке, возвращающиеся из базы данных, с датой дня, отображаемой в моем элементе управления Calendar, следующим образом (в этом фрагменте «данные» представляют собой List и результаты запроса db):
protected void CalendarDayRender(object sender, DayRenderEventArgs e){
//need to see if we can find a way to find an event option that might be contained within the events datasource
var r =( from x in data where x.tEventOptions.Select(y=>y.EventDate.Date.Equals(e.Day.Date)).Any() select x).Any();
if (r)
{
e.Cell.Font.Bold = true;
}
}
Таким образом, значение r должно быть истинным, если есть какие-либо события, имеющие tEventOption с любой EventDate, которая совпадает с датой DayRenderEventArgs.EventDate - это поле даты и времени, поэтому я беру только часть даты для сравнения с e.Day.Date.Я думал, что если взять 'Any ()' для запроса в tEventOptions, я получу логическое значение относительно того, соответствуют ли какие-либо элементы условию.
За исключением r, мой результат запроса var всегда верен независимо от того, к каким данным он относитсяполучает.Я пробовал подзапрос, используя другие свойства tEventOption и каждый раз получал один и тот же «истинный» результат.Я знаю, что данные не отражают этот результат, поэтому у меня явно есть проблема со структурой моего запроса, но из-за жизни я не могу найти способ ее разрешить.
Я боролся с этим типомзапроса, поэтому любая помощь будет принята с благодарностью.