我的.net核心应用程序中有以下linq代码。我使用efcore和pomero作为mysql的驱动程序。
var journeyId = 5917;
var journey = Journeys.FirstOrDefault(j => j.JourneyId == journeyId);
var journeyEvents = from ad in AccelerometerData
join ae in AccelerometerEvents on ad.AccelerometerDataId equals ae
.AccelerometerData.AccelerometerDataId
where ad.Device.DeviceId == journey.Device.DeviceId && ae.TimeStamp >= journey.StartDateTime &&
ae.TimeStamp <= journey.EndDateTime
group ae by new
{
ae.EventType,
ae.Level
} into g
select new
{
EventType = new JourneyEventType { JourneyEventTypeId = g.Key.EventType },
Level = g.Key.Level,
Count = g.ToList().Count()
};
journey.JourneyEvents = journeyEvents.ToList();
当代码尝试运行最后一行时,出现以下异常。
无法分析表达式“g.tolist()”:当前不支持方法“system.linq.enumerable.tolist”的此重载。
我错过了什么?
2条答案
按热度按时间6kkfgxo01#
使用g.count()代替g.tolist().count()。
xriantvc2#
我想你应该在这里选择: