LINQ hämta från flera tabeller till en lista

Permalänk
Medlem

LINQ hämta från flera tabeller till en lista

Hej!
Jag lyckas inte returnera tillbaka till en lista, problemet är att jag inte vet vad listan blir för datatyp. Som ni ser hämtar jag från tre olika tabeller; PersonAnsökan, PFörsäkringstagare och Anställd. Hur ska jag göra för att returnera tillbaka listan.

public List<PersonAnsökan> VisaAllaAnsökningar() { List<PersonAnsökan> personansökan = new List<PersonAnsökan>(); using (var db = new Model1Container()) { var query = (from x in db.PersonAnsökanSet from y in db.PFörsäkringstagareSet from a in db.AnställdSet where y.PersonAnsökan == x.PFörsäkringstagare where a.PersonAnsökan == x.Anställd select new { x.FörsäkradFnamn, x.FörsäkradEnamn, x.FörsäkradPersNr, x.Försäkringsbolag, x.PersAnsID, y.FNamn, y.ENamn, y.PersNr, y.Postadress, y.Gatuadress, y.PostNr, y.TelnrArbete, y.TelnrBostad, y.Email, y.PFörsäkringstarId, a.AgenturNr, a.Anstnr, a.Fnamn }).ToList(); return query.ToList(); } }

Permalänk

Eftersom du inte specificerar vad du vill ha för objekt ifrån din select får du i detta fall en lista av "Anonymous types", dessa kommer du aldrig att kunna returnera från din metod.

Det du istället borde göra är att konstruera en PersonAnsökan i din select, med object initialization.

En tydligare beskrivning på vad för problem du egentligen försöker lösa kan säkert ge dig bättre tips och förslag.