2012-01-24 14 views
1
leaves = leaves.Where(s => s.Employee.Name.ToUpper().Contains(searchString.ToUpper()) 
            || s.StartDate.ToString().Contains(searchString));  

この意志は私を助けてerror..pleaseにつながるまでのDateTimeに変換しますメソッドをストア式に変換することはできません。Entity Frameworkのは <p></p>エラーは、文字列

答えて

3

それだけでこれを欠けて正常に動作し、異なる

DateTime dateValue; 

if (DateTime.TryParse(searchString, out dateValue)) 
{ 
    leaves = leaves.Where(l => l.StartDate == dateValue); 
} 
else 
{ 
    leaves = leaves.Where(s => s.Employee.Name.ToUpper().Contains(searchString.ToUpper())); 
} 
+0

それぞれのケースを扱う、= leaves.Where葉(S => s.Employee.Name.ToUpper()(searchString.ToUpper())が含まれます)。 – iJay

+0

@ user1134291その欠けている部分については残念です。私の答えを更新しました。 – Eranga

1

エラーメッセージは正確に何が起こっているかを示します。Entity Frameworkは式のその部分をSQL文に変換できません。つまり、この方法では検索できません。

文脈がなければ、実際の日付(つまり特定の日付以降の検索)で検索することをお勧めします。

関連する問題