gpt4 book ai didi

c# - 查询以检索每个操作的最新状态

转载 作者:太空狗 更新时间:2023-10-30 00:44:20 25 4
gpt4 key购买 nike

我对 LinQ 技术不熟悉。我的程序生成操作(移动文件、删除文件……)并将每个操作的状态保存在数据库中。假设法规只是通过 (1) 或未通过 (0)。虽然我的行动没有成功,但我会再试一次。对于每个试验,我在我的数据库中写一行:

ID  ProcessedOn             ActionID  Description  Status
--- ----------------------- --------- ------------ ------
20 2011-05-20 10:45:01.440 24871 xxx 0
21 2011-05-20 10:45:09.080 24873 xxx 0
22 2011-05-20 11:00:01.993 24871 xxx 0
23 2011-05-20 11:00:10.477 24873 xxx 1
24 2011-05-20 11:15:08.127 24871 xxx 1

我想编写一个 LINQ 查询来检索 2 时刻之间每个 Action 的最新状态。这可能吗?

我已经写过了:

 MyTable.Where(t => t.ProcessedOn >= start).Where(t => t.ProcessedOn <=
stop).OrderBy(t => t.ProcessedOn).ToList();

此请求需要附加条件以仅保留最后状态。我需要为每个 ActionID 保留更长的 ProcessedOn 时间。

最佳答案

您可以尝试按 ActionID 分组,而不是只获取最后一项

MyTable
.Where(t => t.ProcessedOn >= start)
.Where(t => t.ProcessedOn <= stop)
.GroupBy(t => t.ActionID)
.Select(t => t.OrderBy(t => t.ProcessedOn).Last())
.ToList();

关于c# - 查询以检索每个操作的最新状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8139161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com