2013-05-19 6 views

Antwort

7

Was ist mit SingleAsync oder FindAsync? Nicht sicher über FirstOrDefault one

Verwenden Sie warten.

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

Eine andere Art und Weise (vielleicht dumm, wie ich derzeit keinen Zugang zu VS haben):

var findBarCode = await context.Barcodes 
      .Where(x => x.Code == barcode) 
      .OrderBy(YOURCRITERIA) 
      .Take(1) 
      .Select(x => x.Product) 
      .ToListAsync(); 
+2

Es gibt ein 'FirstOrDefaultAsync' und ein' FirstAsync'. –

+2

Diese Methoden sind in 'System.Data.Entity' versteckt, sodass Sie sie möglicherweise nicht sofort in Intellisense sehen können. – MEMark

+0

Btw dieser Namespace befindet sich in der 'EntityFramework'-Assembly, daher müssen Sie in Ihrem Projekt einen Verweis hinzufügen, bevor Sie 'System.Data.Entity' verwenden können – Sergey

9

Es gibt eine Erweiterung Methode FirstOrDefaultAsync in System.Data.Entity genannt:

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

Diese requires Entity Framework 6.0.

Verwandte Themen