繁体   English   中英

实体框架将DateTime转换为字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM