1

クエリ:-

    select * from Product.Barcodes where Barcode='00A000000O' and  
 Barcode not in(select Barcode from Sales.SalePointItem)

私は以下を試しましたが、これらは機能しません:-

db.Barcodes.SingleOrDefault(b => b.Barcode.Equals(ItemBarcode) &&  
  !db.SalePointItems.Select(m=>m.Barcode).Contains(b.Barcode));

db.Barcodes.SingleOrDefault(b => b.Barcode.Equals(ItemBarcode) &&  
  !db.SalePointItems.Any(m=>m.Barcode.Equals(b.Barcode)));

上記の両方を実行すると、次の例外が発生します。-

タイプ'SalePointItemModel'の定数値を作成できません。このコンテキストでは、プリミティブ型('Int32、String、Guid'など)のみがサポートされます。

4

1 に答える 1

1

これを試してください:

var item = (from b in db.Barcodes
            where b.Barcode == ItemBarcode
            where !db.SalePointItems.Any(m => m.Barcode == b.Barcode)
            select b).SingleOrDefault();

メソッド構文-

var item = db.Barcodes.Where(b => b.Barcode == ItemBarcode)
                      .Where(b => !db.SalePointItems.Any(m => m.Barcode == b.Barcode))
                      .SingleOrDefault();
于 2012-05-12T15:57:56.643 に答える