【发布时间】:2017-11-14 14:49:05
【问题描述】:
我有一个数据库,每“n”秒插入一次 CPU 使用率,我的任务是从数据库中获取最新的 CPU 条目。我想显示属于特定服务器的数据库中的最新 CPU 条目,并且我想将结果保存到通用列表中。
我尝试过的,
string match = "ServerX"
List<UsageCPU> cpus = (from a in db.UsageCPUs
where a.ServerID.Contains(match)
group a by a.ServerID into b
orderby b.Key
select new { ServerID = b.Key,
Usage = b.FirstOrDefault() }).ToList();
我想循环遍历结果 cpus 以执行进一步的其他步骤。
但我收到以下错误
不能隐式转换类型 'System.Collections.Generic.List
' 到 'System.Collections.Generic.List '。
编辑
更新
Satpal 的以下查询对我有用.. 但使用 var
var cpus = (from a in db.UsageCPUs
where a.ServerID.Contains(match)
group a by a.ServerID into b
orderby b.Key
select new
{
ServerID = b.Key,
Usage = b.FirstOrDefault().Usage
}).ToList();
foreach (var item in cpus)
{
if(bla bla..)
}
请帮助!
【问题讨论】:
-
请给出否决票的理由,以便我可以重构我的问题。谢谢!
-
试试
Usage = b.First().Usage