[英]Entity Framework Convert DateTime to string
leaves = leaves.Where(s => s.Employee.Name.ToUpper().Contains(searchString.ToUpper())
|| s.StartDate.ToString().Contains(searchString));
这将导致错误..请帮助我,
错误:LINQ to Entities无法识别方法'System.String ToString()',并且该方法无法转换为商店表达式。
区别对待每种情况
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()));
}
该错误消息确切说明了正在发生的事情:Entity Framework无法将表达式的该部分转换为SQL语句,这意味着您无法以这种方式进行搜索。
在没有更多上下文的情况下,最好的选择可能是按实际日期搜索(即,自某个日期或直到某个日期的搜索)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.