【发布时间】:2020-01-30 16:19:27
【问题描述】:
我正在尝试显示根据数据库处理的最后一条记录,客户端有属于它们的进程。
所以客户端 1 有进程 1 和 2,我希望根据数据库中的进程表显示最后一条记录和处理时间。我想将此返回到视图并显示在表格中。
这是我迄今为止一直在尝试的:
var robots = from h in _context.HeartBeat
join p in _context.ProcessTable on h.ProcessID equals p.ProcessID
join e in _context.EnvironmentTable on p.EnvironmentID equals e.EnvironmentID
join c in _context.ClientTable on e.ClientID equals c.ClientID
select new DashViewModel
{
processName = p.ProcessID,
environmentName = e.EnvironmentName,
LastRunTime = h.RecordFinish
};
IEnumerable<DashViewModel> robo = robots.ToList<DashViewModel>();
这会从数据库中选择所有进程。有数千个,所以这并不理想。
【问题讨论】:
-
如果您只需要 1 条记录 - 按日期(处理结束)或某个 id(如果它是自动增量)按降序排列记录并获取第一条记录
-
@demo 我如何在 linq 中执行此操作?
-
这是
orderby descendingstackoverflow.com/a/24289779/3917754 的示例,然后只需使用.FirstOrDefault()或仅使用.First()
标签: c# .net linq asp.net-core