在EF6中,我有一个非常简单的查询:
_dbContext.Times.Where(t => t.UserId == userId).Sum(t => (decimal?)t.Minutes / 60m) ?? 0;
它只获取用户的总分钟数并除以60得到小数小时,如果没有用户的记录则返回0。
在EF7中,我得到例外:
处理请求时发生未处理的异常。
InvalidCastException: Specified cast is not valid.
Microsoft.Data.Entity.Query.QueryMethodProvider.GetResult[TResult](IEnumerable`1 valueBuffers)
当然这太简单了,不能成为一个bug。 EF7中发生了哪些变化 - 这种查询的正确方法是什么?