我收到错误System.Linq.Enumerable的”执行对目前尚未实现
当我执行执行数据库服务器端:GroupBy(IEnumerable ` 1,Func ` 2)'在数据库服务器端目前未实现。
from t in dbContext.TrackerRecords
where t.DeviceSerial.Value.Equals(deviceSerial) &&
t.Date.Value >= fromDate && t.Date.Value <= toDate
orderby t.Date.Value descending
group t by t.Date.Value.Date into g
select new TripDataModel
{
Day = g.Key,
Trips = (from x in g
group x by x.Date.Value.Hour into gj
where gj.Max(m => m.Speed.Value) > 0
let AvgSpd = gj.Average(m => m.Speed.Value)
select new TripModel
{
MinSpeed = gj.Min(m => m.Speed.Value),
MaxSpeed = gj.Max(m => m.Speed.Value),
AvgSpeed = AvgSpd > 0
? Math.Round(AvgSpd, 2, MidpointRounding.AwayFromZero)
: 0,
FromHour = new DateTime(g.Key.Year, g.Key.Month, g.Key.Day, gj.Key, 0, 0)
})
}
我试着在linqtosql和做工精细的查询,但我需要使用Telerik的OpenAccess的以下查询
。
有没有解决方法或解决方法呢?
你可以在内存中组,而不是在服务器端? –
为什么在内存中分组LinqToSql可以在服务器上分组。为什么openAccess不能? –
错误消息导致我认为linq组由于尚未在OpenAccess中实现。假设它有自己的实现(不使用它后面的LinqToSql),您可以使用LinqToSql的group by而不是OpenAccess。 **但是**,在看了[这个论坛讨论](http://www.telerik.com/forums/is-group-by-supported)之后,我认为group by应该在OpenAccess中实现。最好尝试在论坛中发布问题。 – har07