Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
U

User 13446657

@User 13446657
About
Posts
4
Topics
1
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • async using linq
    U User 13446657

    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;
      
    }
    
    C# linq csharp functional help tutorial

  • async using linq
    U User 13446657

    It didn't change the error, it is still the same. The error message suggest to add async in front of x => new SkorekortDetailViewModel as

    }).AsQueryable()
    .Select(async 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,
    SkoreListe = await GetSkorekortSkore(x.SkorekortID),
    HulListe = await GetHuller(x.BaneID),
    BaneListe = await GetBane(x.KlubID)
    }).ToListAsync();

    but that just shows all the linq as in error.

    C# linq csharp functional help tutorial

  • async using linq
    U User 13446657

    This is how it looks:

    namespace Golf.Components
    {
    public class SkorekortDetailViewComponent : ViewComponent
    {
    public readonly GolfContext _db;

    public SkorekortDetailViewComponent(GolfContext context)
    {
      \_db = context;
    }
    
    
    public async Task InvokeAsync(int SkorekortID)
    {
      var items = await GetItemsAsync(SkorekortID);
      return View(items);
    }
    
    private async Task\> GetItemsAsync(int SkorekortID)
    {
      
      return (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,                                 
                                 SkoreListe = await GetSkorekortSkore(x.SkorekortID)
                               }).ToListAsync();
      
    }
    
    public async Task\> GetSkorekortSkore(int SkorekortID)
    {
    
    
      return await (from s in \_db.SkoreKortSkore
                    where s.SkorekortID == SkorekortID
                    select s).ToListAsync();
     
    }
    
    C# linq csharp functional help tutorial

  • async using linq
    U User 13446657

    Hi, I have he following code which for the line "await GetSkorekortSkore(x.SkorekortID)" is giving the error message "the await operator can only be used within an async lambda expression. Consider marking this lambda expression with the async modifier". Any suggestion of how to make it work ?

    return (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,
    SkoreListe = await GetSkorekortSkore(x.SkorekortID)
    }).ToListAsync();

    }
    
    public async Task<List<SkorekortSkore>> GetSkorekortSkore(int SkorekortID)
    {
    
    
      return await (from s in \_db.SkoreKortSkore
                    where s.SkorekortID == SkorekortID
                    select s).ToListAsync();
     
    }
    
    C# linq csharp functional help tutorial
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups