It works fine without the line "SkoreListe = await GetSkorekortSkore(x.SkorekortID)".
I'm not sure if it can work the way i thought it should work, so I have changed it to this instead which works:
private async Task\> GetItemsAsync(int SkorekortID)
{
List skorekortdetail = await (from s in \_db.SkoreKort
from k in \_db.Klub
from b in \_db.Bane
where (s.SkorekortID == SkorekortID &&
s.BaneKlubID == k.KlubID &&
s.BaneID == b.BaneID)
select new {
s.SkorekortID,
k.DGUKlubNr,
s.SkoreDato,
s.SpillerHCP,
k.KlubNavn,
b.BaneNavn,
b.TeeNavn,
b.HerreDame,
b.BaneID,
k.KlubID
}).AsQueryable()
.Select(x => new SkorekortDetailViewModel {
SkorekortID = x.SkorekortID,
DGUKlubNr = x.DGUKlubNr,
SkoreDato = x.SkoreDato,
SpillerHCP = x.SpillerHCP,
KlubNavn = x.KlubNavn,
BaneNavn = x.BaneNavn,
TeeNavn = x.TeeNavn,
HerreDame = x.HerreDame,
BaneID = x.BaneID,
KlubID = x.KlubID
}).ToListAsync();
foreach(var skorekort in skorekortdetail) {
skorekort.SkoreListe = await GetSkorekortSkoreAsync(skorekort.SkorekortID);
skorekort.HulListe = await GetHullerAsync(skorekort.BaneID);
skorekort.BaneListe = await GetBaneAsync(skorekort.KlubID);
}
return skorekortdetail;
}