如何使用 LINQ 选择最新且不同的记录?

2024-01-06

我正在尝试使用 LINQ 从状态历史记录中获取记录的最新状态。我的订单出现问题,或者可能我完全偏离了目标。

My Code

Dim LatestStatusTable= (From RecordHistoryTable In db.RecordHistory) _
    .GroupBy(Function(i) i.Status).[Select](Function(i) i.First())

示例数据

Data

ID    Timestamp                 Status
251   2017-07-19 11:01:15.577   2
250   2017-07-14 16:15:38.543   2
249   2017-07-13 13:31:13.010   2
249   2017-07-14 04:16:08.307   1
249   2017-07-14 05:45:38.437   2
249   2017-07-14 08:00:42.253   1
249   2017-07-14 08:30:02.380   2
248   2017-07-11 15:30:28.223   2
248   2017-07-11 18:31:11.857   1
248   2017-07-11 18:49:08.510   2

Desired Output

ID    Timestamp                 Status
251   2017-07-19 11:01:15.577   2
250   2017-07-14 16:15:38.543   2
249   2017-07-14 08:30:02.380   2
248   2017-07-11 18:49:08.510   2

有人可以教育我并指出我正确的方向吗?


GroupBy ID然后在选择时,你想要OrderByDescending on Timestamp,然后取First在每个组中。

Dim LatestStatusTable = (From RecordHistoryTable In db.RecordHistory) _
    .GroupBy(Function(i) i.ID) _
    .[Select](Function(g) g.OrderByDescending(Function(x) x.Timestamp).First())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 LINQ 选择最新且不同的记录? 的相关文章

  • 用于连接 DataTable 上的动态列的动态 LINQ

    我目前遇到的情况不确定如何继续 我有两个从数据库填充的数据表 我还有一个可用的列名称列表 可用于将这两个数据表连接在一起 我希望编写一组 LINQ 查询 这些查询将 显示两个数据表中的行 内部联接 用于从一个数据表更新另一个数据表 显示一个
  • Resharper:IEnumerable 的可能多重枚举

    我正在使用新的 Resharper 版本 6 在我的代码中的几个地方 它给一些文本加了下划线 并警告我可能存在IEnumerable 可能的多重枚举 我理解这意味着什么 并在适当的情况下采纳了建议 但在某些情况下 我不确定这实际上是一个大问
  • 基于 AST 结合使用 And Or 和 Not 表达式的 C# 表达式

    我想使用 Linq 表达式来实现一些动态功能 我需要 And Or 和 Not 表达式 我无法得到太多 我们想要检查系统中是否启用了某些功能 并据此决定是否显示菜单项 我们已经形成了 XML 格式的规则 我知道将规则转换为 AST 但我不知
  • xmlns 元素的顺序重要吗

    我不知道如何在 google 中搜索此内容 但是 xmlns 元素的问题在 XML 文件中重要吗 我正在 ASP NET VB 中使用 XMLWriter 创建一个 XML 文件 并且尝试匹配我提供的示例
  • ODP.Net - OracleDataReader.读取速度非常慢

    我在 ODP Net 中的 OracleDataReader 方面遇到很多麻烦 基本上 我有一个参数化查询 需要 1 5 秒的时间来运行 返回大约 450 条记录 然后需要 60 90 秒的时间来循环 甚至没有代码在循环中运行 实际上是迭代
  • 有没有办法将 C# 通用字典拆分为多个字典?

    我有一本 C 字典Dictionary
  • LINQ to XML - 如何正确使用 XDocument

    现在我首先要说的是 这确实是一项任务 然而 在我遇到 Linq to XML 语法之前 我几乎已经完成了它 我有 2 个课程 曲目和 CD 现在作为作业的一部分 我创建了一张 CD 然后向其中添加了一些曲目 在搜索了大量完美解释了如何从 x
  • “重载”在子类中如何工作?

    我有一个基类和一个子类 它们都有相同的属性 但我不明白whyVB 希望我对子类中的属性使用 重载 区别在于该属性的子类版本是Shared而父类基本上是为了结构 这些属性如下所示 Public MustInherit Class Parent
  • LINQ-To-SQL 如何防止 SQL 注入?

    我目前正在使用 C 和 LINQ TO SQL 做一个项目 这个项目将安全性作为高优先级 所以显然我想防止 SQL 注入 我用谷歌搜索了此事 但 没有发现任何有用的信息 微软自己的常见问题解答告诉我 由于 LINQ 处理参数的方式 注入不会
  • 如何从使用 exec() 的存储过程创建复杂类型?

    我想通过动态构造并执行的查询创建一个复杂类型 以便在实体管理器中使用exec 是否可以 既然我正在写一个过滤器 如果不可能的话你会做什么 另外 我正在使用 linq 进行评估 但过滤器需要许多表及其寄存器 因此效率是一个问题 谢谢 是的 您
  • 同一个表的多个外键

    我有一个参考表 其中包含性别 地址类型 联系人类型等各种受控值查找数据 许多表都有指向该参考表的多个外键 我还有多对多关联表 其中同一个表有两个外键 不幸的是 当这些表被拉入 Linq 模型并生成 DBML 时 SQLMetal 不会查看外
  • 如何在 Windows 窗体中制作窗体模式?

    我正在尝试创建一个子表单 帮助用户在父表单中的字段中输入数据 我希望这个子表单是模态的 但是我需要做什么才能使这个表单成为模态 我需要使用其他类型的物品吗 Use Form ShowDialog http msdn microsoft co
  • ArrayList 搜索 .net

    以下是存储在我的数组列表中的数据的格式 A Amsterdam B Brussels C Canada 如此等等 我想通过仅传递前几个字符直到 来搜索我的数组列表 因此 如果我有类似 AA Test 的东西 那么我只想通过 AA 来检查它是
  • vb.net if 简写

    有没有办法使用速记来做这样的事情 If Not txtBookTitle Text String Empty Then objBook DisplayName txtBookTitle Text End If objBook Display
  • LINQ 中的延迟执行有什么好处?

    LINQ 使用延迟执行模型 这意味着在调用 Linq 运算符时不会返回结果序列 而是这些运算符返回一个对象 然后仅当我们枚举该对象时 该对象才会生成序列的元素 虽然我了解延迟查询的工作原理 但我在理解延迟执行的好处时遇到了一些困难 1 我读
  • 如何使用 linq to sql 一次更新多行?

    Table id userid friendid name status 1 1 2 venkat false 2 1 3 sai true 3 1 4 arun false 4 1 5 arjun false 如果用户发送userid 1
  • Enumerable.Range 和内存分配

    我有以下代码 IEnumerable
  • 检查 listbox1 中是否已存在某个项目

    在 form1 中 我有两个列表框 listbox1 listbox2 加载按钮和保存按钮 此代码会将 listbox1 selecteditem 写入 txt 文件 然后 loadbutton 将加载信息 但在 listbox2 中我希望
  • 如何将 Linq 扩展到 SQL?

    去年 斯科特 格思里stated http weblogs asp net scottgu archive 2007 07 31 linq to sql debug visualizer aspx 如果你想绝对控制执行的 SQL 你实际上可
  • 如何使用“路径”查询 XDocument?

    我想查询一个XDocument给定路径的对象 例如 path to element I want 但我不知道如何继续 您可以使用以下方法System Xml XPath Extensions http msdn microsoft com

随机推荐