2010-11-29 141 views
0

我正在嘗試在EF版本4中使用Dynamic where子句創建查詢,並且正在生成的唯一where子句是來自初始語句的「c.clientid == Clientid」。查看SQL Profiler result.where語句不會被附加到結果變量。你能告訴我我做錯了什麼嗎?EF 4 Dynamic 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(); 

回答

5

您不會將result.Where(...)的結果指定給您的結果變量。

在你的if語句插入:result = result.Where(...);

+0

我剛來到這裏同樣的錯誤。我沒有意識到結果。哪裏會回報什麼,我認爲這是一個功能。添加結果= result.where確實爲我解決了它。謝謝。 – SolidSnake4444 2013-12-27 20:42:09