use*_*671 2 c# sql linq asp.net-mvc
我试图从使用开始和结束日期的最高天数的数据库中获取记录.我一直在Entity.dll中得到一个System.Argument.Exception.
错误说明:
{"DbArithmeticExpression arguments must have a numeric common type."}
Run Code Online (Sandbox Code Playgroud)
这是我的LINQ声明:
var maxDaysTask = whseTasks.Where(x => x.CompDate != null && x.TaskDate != null).Max(x => ((DateTime)x.TaskDate - (DateTime)x.CompDate).TotalDays);
Run Code Online (Sandbox Code Playgroud)
CompDate(结束日期)和TaskDate(开始日期)都是可以为空的日期时间.有什么建议?
das*_*ght 14
您不能在查询中使用减法:operator -在.NET中重载,但在SQL Server中不重载.
您可以使用它SqlFunctions.DateDiff来实现您正在寻找的效果:
var maxDaysTask = whseTasks
.Where(x => x.CompDate != null && x.TaskDate != null)
.Max(x => SqlFunctions.DateDiff("day", x.TaskDate, x.CompDate));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5691 次 |
| 最近记录: |