Учитывая следующую структуру:
public class Contract
{
virtual int Id {get;set;}
virtual IList<Course> Courses {get;set;}
}
public class Course
{
virtual int Id {get;set;}
virtual IList<Schedule> Schedules {get;set;}
}
public class Schedule
{
virtual int Id {get;set;}
virtual DateTime Start {get;set;}
virtual DateTime End {get;set;}
}
Мне нужно выяснить, имеет ли данный Contract
какой-либо Schedule
(обратите внимание, как это проходит через отношение Course
), совпадающий с любой из моей новой коллекцииSchedule
объектов из всех контрактов в базе данных.
Редактировать:
Моя главная проблема - выяснить способ (если это возможно и правдоподобно) сделатьзапрос к коллекции расписаний, а не только к скалярному DateTime.Таким образом, я решил, что не буду делать отдельный запрос для каждого экземпляра расписанияНапример, структура будет выглядеть примерно так:
Contract contract = new Contract
{
Courses = new List<Course>()
{
{
new List<Schedule>()
{
{new Schedule { Start = new DateTime(2011,01,01), End = new
DateTime(2011,01,31) } },
{new Schedule { Start = new DateTime(2011,02,01), End = new
DateTime(2011,02,27) } },
{new Schedule { Start = new DateTime(2011,03,01), End = new
DateTime(2011,03,15) } }
}
},
{
new List<Schedule>()
{
{new Schedule { Start = new DateTime(2010,12,12), End = new
DateTime(2010,12,31) } }
}
}
}
};
Как вы думаете, есть ли способ запросить их все сразу?Что лучше сделать цикл foreach для .NET и выполнить индивидуальный запрос?
Заранее спасибо.