Mi chiedo come faccio a cambiare questa affermazione per essere asincrona?
var findBarCode = context.Barcodes
.Where(x => x.Code == barcode)
.Select(x => x.Product).FirstOrDefault();
Non vedo come nessun async where
affermazione posso usare.
Che dire di SingleAsync o di FindAsync? Non sono sicuro di quello di FirstOrDefault
Usa l'attesa.
var findBarCode = await context.Barcodes
.Where(x => x.Code == barcode)
.SingleAsync(x => x.Product);
Un altro modo (potrebbe sembrare sciocco perché al momento non ho accesso a VS):
var findBarCode = await context.Barcodes
.Where(x => x.Code == barcode)
.OrderBy(YOURCRITERIA)
.Take(1)
.Select(x => x.Product)
.ToListAsync();
C'è un metodo di estensione chiamato FirstOrDefaultAsync
in System.Data.Entity
:
using System.Data.Entity;
...
var findBarCode = await context.Barcodes
.Where(x => x.Code == barcode)
.Select(x => x.Product).FirstOrDefaultAsync();