2010-06-10 5 views
1

J'ai 2 tables dans mon linb dbml. L'un est des gens avec un ID unique appelé ID de personne et l'autre est une verticale avec une clé étrangère pour ID de personne et un identificateur ID unique appelé. J'ai besoin de créer un type de requête linq qui fait une jointure externe gauche sur les personnes et obtient le dernier enregistrement dans la table verticale basé sur la colonne max (id). Quelqu'un peut-il suggérer à quoi cela devrait ressembler? Merci.comment créer une requête linq en utilisant join et max

+0

il devrait ressembler à une requête LINQ !!! – Luiscencio

Répondre

0

Il devrait ressembler à ceci (juste une suggestion):

from p in con.Peoples 
orderby p.LastName , p.FirstName 
let maxPrint = p.FingerPrints 
    .OrderByDescending(fp => fp.Id) 
    .FirstOrDefault() 
where maxPrint != null 
select new { 
    p.PeopleID, 
    Name = p.FirstName + " " + p.LastName, 
    FingerPrint = maxPrint 
}; 
+0

Je n'ai pas encore utilisé let google et ne semble pas apparaître beaucoup sur linq to sql et donc je ne sais pas exactement à quoi le code devrait ressembler. Voici ce que j'ai maintenant. Une idée de ce que je fais mal? Merci var recs = à partir de p dans con.Peoples rejoindre cj dans con.Jobs sur p.PeopleID est égal à cj.PeopleID rejoindre f dans con.Fingerprints sur p.PeopleID est égal à f.PeopleID laissé maxrec = (à partir de fp dans f select f .id) .Max orderby p.LastName, p.FirstName select nouveau {p.PeopleID, p.FirstName + "" + p.LastName}; –

+0

Super, merci! Je vais essayer. –

Questions connexes