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 回答