我正在尝试使用EF版本4中的Dynamic where子句创建一个查询,并且唯一生成的where子句是初始语句中的“c.clientid == Clientid”。查看SQL事件探查器时,result.where
语句未附加到结果变量。你能告诉我我做错了什么吗?
var result = (from c in cxt.Customer
where c.clientid == Clientid
select c);
string employeenumber = formdata["employeenumber"].ToString();
if (!string.IsNullOrWhiteSpace(employeenumber))
{
result.Where(t => t.EmployeeNumber.ToLower() == employeenumber);
}
string FirstName = formdata["FirstName"].ToString();
if (!string.IsNullOrWhiteSpace(FirstName))
{
result.Where(t => t.FirstName.ToLower().Contains(FirstName));
}
return result.ToList();
答案 0 :(得分:5)
您不会将result.Where(...)
的结果分配给结果变量。
在if语句中插入:result = result.Where(...);