如何将foreach用于IQueryable对象?

时间:2015-08-12 13:26:17

标签: linq mongodb asp.net-mvc-4 foreach

我正在使用MVC4和MongoDB。我想根据IQueryable对象的元素创建一个表。我的目标是:

 IQueryable<EventReport> Events = ViewBag.EventsByDevice_Type;

此“var result”从ViewBag中的控制器发送:

var result = (from dn in ObjectMongoCollection.AsQueryable<DataLog>()
                      where (dn.LogStatus == Enums.LogStatus.Alarm)
                        &&  (deviceIdList.Contains(dn.DeviceId))
                        && (dn.ReadingDateUTC >= startDateUTC && dn.CreateDate <= endDateUTC)
                        && (dn.DeviceId == deviceId || deviceId == "")
                        && (dn.LogType == LogType || logType == "" || logType == null)
                     group dn by new { device = dn.DeviceId, type = dn.LogType } into report
                     select new EventReport 
                     {
                        DeviceId = report.Key.device,
                        LogType = report.Key.type,
                        EventCount=""+report.Count()    
                     });

从控制器发送一个IQueyable对象。控制器没有问题。但是我不能在foreach循环中使用这个IQueryable:

foreach (var item in Events)
{
 .
 .
 .
}

它不会产生编译错误,但是当我尝试运行它时,在foreach行发生错误:

“System.InvalidOperationException:没有为类型'System.Object'和'System.String'定义二进制运算符Add。”

我该如何解决这个问题?

0 个答案:

没有答案