LINQ to Entities 的问题
if (JKRQ.Length > 0)
{
list = list.Where(m => string.Format ("yyyy-MM-dd",m.JKRQ )==JKRQ );
}
数据库中的datetime是精确到毫秒的,这样子会报错:
LINQ to Entities 不识别方法“System.String ToString(System.String)”,因此该方法无法转换为存储表达式。
怎么才能让等式成立?
------解决思路---------------------- if (JKRQ.Length > 0)
{
list = list
.AsEnumberable().Where(m => string.Format ("yyyy-MM-dd",m.JKRQ )==JKRQ );
}
------解决思路----------------------EF6.0以下用
var dt = DateTime.Parse(JKRQ);
list.Where(m => System.Data.Objects.SqlClient.SqlFunctions(m.JKRQ) == dt)
EF6以上用
引用System.Data.Entity然后使用里面的DbFunctions.TruncateTime(m.JKRQ)