EF 4 Dynamic Where Where Clause无效

时间:2010-11-29 21:24:18

标签: entity-framework-4 linq-to-entities

我正在尝试使用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();

1 个答案:

答案 0 :(得分:5)

您不会将result.Where(...)的结果分配给结果变量。

在if语句中插入:result = result.Where(...);