Linq表达式
var startTime = DateTime.Parse(request.StartTime);
var endTime = DateTime.Parse(request.EndTime);
exp = (t1, t2) => t1.OrderDate >= startTime && t1.OrderDate <= endTime;
expression = ExpressionHelper.And(expression, exp);
在windows下运行都正常,放到Centos下就异常出错了。
出现错误
从 varchar 数据类型到 datetime 数据类型的转换产生一个超出范围的值。
最后是找了很多文章验证下面这个方式才处理
最终还是打开项目的Program.cs文件
using System.Globalization;
在Main方法中添加下面这行代码解决
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("zh-CN", true) { DateTimeFormat = { ShortDatePattern = "yyyy-MM-dd", FullDateTimePattern = "yyyy-MM-dd HH:mm:ss", LongTimePattern = "HH:mm:ss" } };
参考:
https://blog.csdn.net/shanghaimoon/article/details/116122021