Entity Framework 6 - ¿Cómo convertir esta línea a asíncrona?

.net async-await entity-framework entity-framework-6

Pregunta

Me pregunto cómo puedo cambiar esta declaración para que sea asíncrona.

    var findBarCode = context.Barcodes
        .Where(x => x.Code == barcode)
        .Select(x => x.Product).FirstOrDefault();

No veo como cualquier async where pueda usar la declaración.

Respuesta aceptada

¿Qué pasa con SingleAsync o FindAsync? No estoy seguro acerca de FirstOrDefault one

Hacer uso esperar

var findBarCode = await context.Barcodes
        .Where(x => x.Code == barcode)
        .SingleAsync(x => x.Product);

Otra forma (podría ser una tontería ya que no tengo acceso a VS en la actualidad):

var findBarCode = await context.Barcodes
        .Where(x => x.Code == barcode)
        .SingleAsync(x => x.Product);

Respuesta popular

Hay un método de extensión llamado FirstOrDefaultAsync en System.Data.Entity :

using System.Data.Entity;
...
var findBarCode = await context.Barcodes
    .Where(x => x.Code == barcode)
    .Select(x => x.Product).FirstOrDefaultAsync();

Esto requiere Entity Framework 6.0 .




Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué