J'ai entité Person qui a une relation 1: N avec Person_Addresses
(champs: PersonID
, AddressID
, ValidFrom
). Je veux obtenir tous les enregistrements Person
et associés Person_Addresses
avec seulement le dernier ValidFrom. Comment dois-je faire cela en utilisant ObjectQuery ou IQueryable?LINQ to Entites et ObjectQuery
Edit: je l'ai mentionné ObjectQuery
et IQueryable
, parce que je voulais avoir une solution en utilisant des méthodes d'extension (je pense que la façon dont on l'appelle). Aussi j'ai oublié de mentionner que j'utilise Entity Framework où j'ai les entités générées. Je veux obtenir un objet personne dont le membre person_adress est chargé.
Voici la structure des entités: membres id personne: int, prenom string, string lastname, Partner_Address partneradress
membres Person_Address: int personid
, int adressid
, date validfrom
Cela semble compliqué mais devrait-il être? Le SQL généré doit ressembler à ceci: SELECT [Id] , [Prénom] , [Nom] , prt.AdressID de [personne] p CROSS APPLY (\t SELECT TOP (1) [personID], [ AdressId], [ValidFrom] \t dE [Person_Addresses] pa \t où p. [Id] = pa. [personID] \t ORDER BY [ValidFrom] DESC ) PRT – Sys