是null实体框架5
本文关键字:框架 实体 null | 更新日期: 2023-09-27 18:24:22
我在sql server中有这样一句话:
SELECT * FROM Documentos WHERE ( @param IS NULL OR strNOMPRO = @param )
我用实体做这件事
DocumentsList = db.DOCUMENTOS
.Where(d => d.strNOMPRO == nombre && d.strNOMPRO == null)
.OrderByDescending(d => d.datFECCER).ToList();
如果param为null,则返回sql中的所有寄存器,但在linq中返回0个寄存器
我怎样才能做好这件事?
这相当于SQL WHERE语句:
DocumentsList = db.DOCUMENTOS
.Where(d => nomber == null || d.strNOMPRO == nombre)
.OrderByDescending(d => d.datFECCER)
.ToList();
它检查参数是否为null
或(||运算符)它检查strNOMPRO属性是否应等于参数。
BTW因此您的参数不能在查询过程中更改,动态添加过滤条件更有效:
var query = db.DOCUMENTOS;
if (!String.IsNullOrEmpty(nombre))
query = query.Where(d => d.strNOMPRO == nombre);
DocumentsList = query.OrderByDescending(d => d.datFECCER).ToList();
进一步阅读:&;操作员和||操作员