Я создаю приложение для управления школой, где они отслеживают опаздывание и отсутствие учеников. У меня есть три сущности, чтобы помочь мне в этом. Студенческое юридическое лицо (имя, фамилия, удостоверение личности и т. Д.); объект SystemAbsenceTypes со значениями SystemAbsenceTypeID для Позднего, Отсутствующего с Причиной, Отсутствующего без Причины; и таблицу перекрестных ссылок с именем StudentAbsences (сопоставление идентификаторов учащихся с идентификатором типа отсутствия, а также датой и полем Notes).
То, что я хочу сделать, это запросить у моих сущностей данного учащегося, а затем сложить число каждого вида отсутствия для заданного диапазона дат. Я без проблем подготавливаю свой объект currentStudent, затем делаю это ...
Me.Data.LoadProperty (currentStudent, "StudentAbsences") 'Загружает данные перекрестных ссылок
lblDaysLate.Text = (Из ab In currentStudent.StudentAbsences Где ab.SystemAbsenceTypes.SystemAbsenceTypeID = Common.enuStudentAbsenceTypes.Late) .Count.ToString
... и эта вторая строка завершается ошибкой, сообщая: «Ссылка на объект не установлена для экземпляра объекта».
Я предполагаю, что проблема в том, что, хотя он видит, что есть (скажем, четыре) отсутствия для currentStudent (т. Е. CurrentStudent.StudentAbsences.Count = 4) - он пока не может "всматриваться" в каждое из отсутствие взглянуть на его тип. Фактически, каждый из четырех объектов StudentAbsence имеет свойство SystemAbsenceType, которое , а затем наконец имеет SystemAbsenceTypeID.
Как мне использовать .Expand или .LoadProperty, чтобы это произошло? Нужно ли мне вслепую просматривать все эти коллекции, запуская .LoadProperty для всего, прежде чем я смогу выполнить свой запрос?
Есть ли какая-то другая техника?