Я хотел бы сделать простую операцию с LinqToSql , но не могу найти правильный путь. У меня есть следующие таблицы, представленные с помощью EF-сгенерированной диаграммы классов:
Если отношение внешнего ключа установлено на SessionId (таблица первичного ключа WebinarSession ).
Я хочу сделать запрос, который возвращает 1 WebinarSession с соответствующими дочерними элементами на WebinarTopic , ORDERED от TopicStartTime .
Учитывая, что _webinarRecordingsDB является объектом хранилища, я уже пробовал решения, которые показались мне более логичными:
WebinarSession lsession = _webinarRecordingsDB.WebinarTopics
.OrderBy(m => m.TopicStartTime)
.Select(m => m.WebinarSession)
.Single(m => m.SessionId == sessionId);
WebinarSession lsession = _webinarRecordingsDB.WebinarSessions
.Single(m => m.SessionId == sessionId).WebinarTopics
.OrderBy(m => m.TopicStartTime)
.Single(m => m.WebinarSession.SessionId == sessionId);
Те запускают исключение, потому что они находят больше строк в WebinarSession. В качестве последнего (нелогичного) средства я также попробовал:
WebinarSession lsession = _webinarRecordingsDB.WebinarSessions
.Single(m => m.SessionId == sessionId);
lsession.WebinarTopics.OrderBy(m => m.TopicStartTime);
, который не запускает никаких исключений, но не выполняет сортировку при lsession. Кто-нибудь может мне помочь, пожалуйста? Спасибо
EDIT
Я хочу сохранить результат в WebinarSession объект