我正在使用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。”
我该如何解决这个问题?