可能重复:
LINQ中SQL ISNULL的等价物?
我最近从ADO.Net
迁移到Entity Framework
我在Linq 中执行此查询时遇到问题
select IsNull(MAX(InvoiceNo),0) from Sales
我在LINQ中写了这个查询,除了isNull()
var q = (from p in dbContext.Sales
select p.InvoiceNo).Max();
但我不知道如何在这个Linq 中使用IsNull()
当我执行这个Linq查询时,我得到了这个异常。
'对类型的构造函数的调用与指定匹配的"JIMS.ViewModel.Transaction.SalesViewModel"绑定约束引发异常行号"8"和行位置"6"。
我正在使用WPF MVVM FrameWork和实体FrameWork作为DAL
var InvoiceNo = dbContext.Sales.Max(x => (int?)x.InvoiceNo) ?? 0;
试试这个:
var q = (from p in dbContext.Sales
select (int?)p.InvoiceNo).Max();
如果invoicno为null,则必须选择zero。你可以这样做的一种方法是:
var elements = (from p in dbContext.Sales
where p.InvoiceNo != null
select p.InvoiceNo).Max();
假设总是至少有一个发票,如果没有,你可以做
var elements = (from p in dbContext.Sales
select p.InvoiceNo ?? 0).Max();
它必须比较所有元素,这样它可能比第一种方法