2013-05-19 19 views

答えて

7

SingleAsyncまたはFindAsyncはどうですか? FirstOrDefault oneについてわからない

awaitを使用してください。

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

別の方法(かもしれない、私は現時点ではVSにはアクセスできません愚かとして):

System.Data.EntityFirstOrDefaultAsyncと呼ばれる拡張メソッドがあります
var findBarCode = await context.Barcodes 
      .Where(x => x.Code == barcode) 
      .OrderBy(YOURCRITERIA) 
      .Take(1) 
      .Select(x => x.Product) 
      .ToListAsync(); 
+2

「FirstOrDefaultAsync」と「FirstAsync」があります。 –

+2

これらのメソッドは 'System.Data.Entity'に隠されていますので、Intellisenseですぐに見ることはできません。 – MEMark

+0

この名前空間は 'EntityFramework'アセンブリに含まれていますので、' System.Data.Entity'を使う前にプロジェクト内の参照を追加する必要があります。 – Sergey

9

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

このrequires Entity Framework 6.0