2010-11-29 7 views
0

EFバージョン4でDynamic where句を使用してクエリを作成しようとしていますが、生成される唯一のwhere句は最初のステートメントの "c.clientid == Clientid"です。 SQLプロファイラを見ると、result.whereステートメントは結果変数に追加されていません。私が間違っていることを教えてくれますか?EF 4動的句が機能しない

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(...)の結果を割り当てないでください。あなたに

文が挿入した場合:result = result.Where(...);

+0

を私はちょうど同じ間違いでここに来ました。私はその結果を認識していませんでした。何かを返すところは、それが機能だと思いました。結果を追加する= result.whereは私のためにそれを修正しました。ありがとうございました。 – SolidSnake4444

関連する問題