C#中LINQ to Entities进行日期比较,使用-运算符,比如:

list.FirstOrDefault(s =>(DateTime.Now - s.Updated).TotalHours < 12);

运行后会报下面异常:

DbArithmeticExpression 参数必须具有数值通用类型

解决办法是使用Entity Framework提供的相关方法:

list.FirstOrDefault(s => EntityFunctions.DiffHours(DateTime.Now,s.Updated) < 12);
已赞 4 0 评论