您好我有这个LINQ查询:
var q =
(from vr in Util.db.ValuationsRequests
where vr.dtSubmitted != null
select vr
).AsEnumerable<ValuationsRequest>();
但是我想用另外3个参数进行搜索:paramValuationId(int),paramValue(boolean),paramTitle(string)。
类似的东西:
if (paramTitle != string.empty)
//add this field to the where
但如果paramTitle为空,我不想搜索它。
这样做的正确方法是什么?
答案 0 :(得分:5)
string paramTitle = "hello";
var q =
(from vr in Util.db.ValuationsRequests
where vr.dtSubmitted != null
&& ( paramTitle == "" || vr.paramTitle == paramTitle)
select vr
).AsEnumerable<ValuationsRequest>();
答案 1 :(得分:2)
var q =
(from vr in Util.db.ValuationsRequests
where vr.dtSubmitted != null
select vr
).AsEnumerable<ValuationsRequest>();
if(!string.IsNullOrEmpty(paramTitle))
q = q.Where(p => p.ParamTitle == paramTitle);