У меня есть лицо, которое имеет отношения 1: N с Person_Addresses
(поля: PersonID
, AddressID
, ValidFrom
). Я хочу получить все Person
записей и связанных с ними Person_Addresses
только с последним ValidFrom. Как это сделать с помощью ObjectQuery или IQueryable?LINQ to Entites и ObjectQuery
Edit: я упомянул ObjectQuery
и IQueryable
, потому что я хотел бы иметь решение с использованием методов расширения (я думаю, что, как это называется). Также я забыл упомянуть, что я использую Entity Framework, где у меня есть сущности, сгенерированные. Я хочу получить объект person, у которого есть его person_adress участник с нетерпением загружены.
Вот структура лица: члены Person: Int ID, строка ПгвЬЫате, строка ФАМИЛИЯ, Partner_Address partneradress
члены Person_Address: int personid
, int adressid
, date validfrom
Выглядит сложным, но должно быть? Генерируется SQL-должен выглядеть следующим образом: SELECT [Id] , [Имя] , [Фамилия] , prt.AdressID ОТ [Человек] р CROSS APPLY (\t Выбор TOP (1) [PersonId], [ AdressId], [ValidFrom] \t FROM [Person_Addresses] ра \t где р. [Id] = ра. [PersonId] \t ORDER BY [ValidFrom] DESC ) PRT – Sys