我有一个数据库,每隔'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();
Run Code Online (Sandbox Code Playgroud)
我想循环结果cpus以执行进一步的其他步骤.
但是我收到以下错误
无法将类型'System.Collections.Generic.List <AnonymousType#1>'隐式转换为'System.Collections.Generic.List <FNC_RAQIT_HM_UI.UsageCPU>'.
编辑
更新
来自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..)
}
Run Code Online (Sandbox Code Playgroud)
请帮助!!
Sat*_*pal 11
使用
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 UsageCPU //Added UsageCPU
{
ServerID = b.Key,
Usage = b.FirstOrDefault().Usage
}).ToList();
Run Code Online (Sandbox Code Playgroud)
根据错误更新
无法在LINQ to Entities查询中构造实体
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().Usage
})
.AsEnumerable()
.Select(x => new UsageCPU
{
ServerID ,
Usage
}).ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16147 次 |
| 最近记录: |