一个简单的where子句无法返回〈〉h__TransparentIdentifier...
from ts in TimeSpentQuery
.Where(z => z.JobId.HasValue ? z.JobId.Value != 0 ?
z.JobId.Value==j.JobId : false : false)
列表在此处创建
var TimeSpentQuery = (from js in context.TblTechnicianRecords.ToList()
group js by js.JobId into g
select new { JobId = g.Key, TimeSpent = g.Sum(x => x.EndTime.HasValue ? x.EndTime.Value.Ticks - x.StartTime.Ticks : 0) }).DefaultIfEmpty();
错误状态
InvalidOperationException: The LINQ expression '<>h__TransparentIdentifier7 => __TimeSpentQuery_0 .Where(z => z.JobId.HasValue ? z.JobId.Value != 0 ? z.JobId.Value == - then list a pile TransparentIdentifier-<>h__TransparentIdentifier0.j.JobId : False : False)'
对于一个简单的where子句,这给我带来了各种各样的悲伤,我错过了什么?
1条答案
按热度按时间91zkwejq1#
看来dot net的核心,Entity Framework(EF)和C#在构建复杂查询时存在多个LINQ from调用的问题(遗留数据)。我最终通过多个列表使用简单连接创建了数据。所有之前的from语句都显示为〈〉h__TransparentIdentifier,并且在处理EF时似乎表现良好。但给定本地列表,系统抛出了上述错误,这是可以理解的,因为SQL编译器不知道列表,我希望LINQ将编译为一组子查询,而不是试图形成一个单一的查询。