为什么Linq GroupBy在OrderBy之后驳回了订单操作?

2023-12-20

我有一个Action模型与Session导航属性,

考虑这段代码:

var x=db.Actions.OrderBy(p => p.Session.Number).ThenBy(p => p.Date);//it's OK

x 是一个有序的 Action,但是当在 x 上分组时,组不会在 x 上迭代(基于动作.会话) 手动处理有序枚举:

var y=x.GroupBy(p=>p.Session).ToArray()

y 有一组(Key,IGrouping)会话,但为什么是 group.Key未订购基于会话号?

如何按编号到达一组会话并按日期排序每个组?


因为它是Enumerable.GroupBy http://msdn.microsoft.com/en-us/library/bb534501.aspx维持秩序。没有这样的承诺Queryable.GroupBy http://msdn.microsoft.com/en-us/library/bb534492.aspx。 从前者的文档来看:

IGrouping(Of TKey, TElement) 对象按以下顺序生成 产生每个元素的第一个键的源中元素的顺序 IGrouping(TKey, TElement)。分组中的元素按顺序生成 它们出现在源代码中。

你说的是后者,上面没有提到。称呼OrderBy after GroupBy使其发挥作用。

Update:由于您显然希望不仅仅对 GroupBy 键进行排序,因此您应该能够使用另一个 GroupBy 重载来指定要对每个会话的操作列表进行排序:

db.Actions.GroupBy(
    p => p.Session,
    (session, actions) => new {
        Session = session,
        Actions = actions.OrderBy(p => p.Date)
    }).OrderBy(p => p.Session.Number).ToArray();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么Linq GroupBy在OrderBy之后驳回了订单操作? 的相关文章

  • ASP.NET MVC 中的经典 ASP (C#)

    我有一个应用程序想要 最终 转换为 ASP NET MVC 我想要进行全面的服务升级 到 ASP NET 但想要使用当前的 ASP 内容来运行当前的功能 这样我就可以在对新框架进行增量升级的同时升级小部分 该站点严重依赖于不太成熟的 VB6
  • 在搜索 List 时,为什么 Enumerable.Any(Func predicate) 比带有 if 语句的 foreach 慢

    最近有件事引起了我的好奇心 Why is the Enumerable Any Func
  • 使用具有现有访问令牌的 Google API .NET 客户端

    用例如下 移动应用程序正在通过 Google 对用户进行身份验证 并且在某些时候 我们需要将用户的视频发布到他的 YouTube 帐户 出于实际原因 实际发布应该由后端完成 已经存储在那里的大文件 由于用户已经通过应用程序的身份验证 因此应
  • 为什么我不能用 `= delete;` 声明纯虚函数?

    Intro 纯虚函数使用通用语法声明 virtual f 0 然而 自 c 11 以来 有一种方法可以显式地传达non existence 特殊 成员函数的 Mystruct delete eg default constructor Q
  • C# 中的接口继承

    我试图解决我在编写应用程序时遇到的相当大的 对我来说 问题 请看这个 为了简单起见 我将尝试缩短代码 我有一个名为的根接口IRepository
  • 显示异常时的自定义错误消息:从客户端检测到潜在危险的 Request.Form 值

    我在我的 Web 应用程序中使用 ASP NET 的登录控件 当发生此异常时 我想在标签上显示一种有趣的错误类型System Web HttpRequestValidationException A potentially dangerou
  • 暂停下载线程

    我正在用 C 编写一个非常简单的批量下载程序 该程序读取要下载的 URL 的 txt 文件 我已经设置了一个全局线程和委托来更新 GUI 按下 开始 按钮即可创建并启动该线程 我想要做的是有一个 暂停 按钮 使我能够暂停下载 直到点击 恢复
  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • 如何识别 WPF 文本框中的 ValidationError 工具提示位置

    我添加了一个箭头来指示工具提示中的文本框 当文本框远离屏幕边缘时 这非常有效 但是当它靠近屏幕边缘时 工具提示位置发生变化 箭头显示在左侧 Here is the Image Correct as expected since TextBo
  • 如何从网站下载 .EXE 文件?

    我正在编写一个应用程序 需要从网站下载 exe 文件 我正在使用 Visual Studio Express 2008 我正在使用以下代码 private void button1 Click object sender EventArgs
  • 在 2D 中将一个点旋转另一个点

    我想知道当一个点相对于另一个点旋转一定角度时如何计算出新的坐标 我有一个块箭头 想要将其相对于箭头底部中间的点旋转角度 theta 这是允许我在两个屏幕控件之间绘制多边形所必需的 我无法使用和旋转图像 从我到目前为止所考虑的情况来看 使问题
  • 结构体指针的动态数组

    我必须使用以下代码块来完成学校作业 严格不进行任何修改 typedef struct char firstName char lastName int id float mark pStudentRecord pStudentRecord
  • 剪贴板在 .NET 3.5 和 4 中的行为有所不同,但为什么呢?

    我们最近将一个非常大的项目从 NET Framework 3 5 升级到 4 最初一切似乎都工作正常 但现在复制粘贴操作开始出现错误 我已经成功制作了一个小型的可复制应用程序 它显示了 NET 3 5 和 4 中的不同行为 我还找到了一种解
  • 转到定义:“无法导航到插入符号下的符号。”

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我今天突然开始在我的项目中遇到一个问题 单击 转到定义 会出现一个奇怪的错误 无法导航到
  • 我在在线程序挑战编译器中遇到演示错误

    include
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触
  • 使用 CSharpCodeProvider 类编译 C# 7.3 的 C# 编译器版本是什么?

    我想使用 Microsoft CSharp CSharpCodeProvider 类来编译 C 7 3 代码 编译器版本在 IDictionary 中指定 在创建新的 CSharpCodeProvider 时将其作为输入 例如 Compil
  • 用于 C# XNA 的 Javascript(或类似)游戏脚本

    最近我准备用 XNA C 开发另一个游戏 上次我在 XNA C 中开发游戏时 遇到了必须向游戏中添加地图和可自定义数据的问题 每次我想添加新内容或更改游戏角色的某些值或其他内容时 我都必须重建整个游戏或其他内容 这可能需要相当长的时间 有没
  • 实例化 Microsoft.Office.Interop.Excel.Application 对象时出现错误:800700c1

    实例化 Microsoft Office Interop Excel Application 以从 winforms 应用程序生成 Excel 时 出现以下错误 这之前是有效的 但突然间它停止工作了 尽管代码和 Excel 版本没有变化 我
  • 是否可以在 C# 中强制接口实现为虚拟?

    我今天遇到了一个问题 试图重写尚未声明为虚拟的接口方法的实现 在这种情况下 我无法更改接口或基本实现 而必须尝试其他方法 但我想知道是否有一种方法可以强制类使用虚拟方法实现接口 Example interface IBuilder

随机推荐

  • 我应该对不透明对象使用整数 ID 还是指针?

    我正在一些图形 API DirectX9 和 DirectX11 之上编写一个抽象层 我想听听您的意见 传统上 我会为每个我想要抽象的概念创建一个基类 因此 在典型的 OO 方式中 我将拥有一个 Shader 类和 2 个子类 DX9Sha
  • Django 动态模型字段

    我正在研究一个多租户应用程序中 一些用户可以定义自己的数据字段 通过管理员 以收集表单中的附加数据并报告数据 后一点使得 JSONField 不是一个很好的选择 所以我有以下解决方案 class CustomDataField models
  • 如何使 AWS EC2 上的 Tomcat 从外部本地主机可用

    我正在尝试在 AWS Linux 服务器上运行 Tomcat 我已经安装了 Tomcat 并从命令行测试了它以确保它正常工作 但我无法从另一台计算机访问它 细节 该实例在安全组中开放了用于 HTTP 的 80 传入端口 我已经通过远程登录到
  • 重写解析表达式语法(PEG),无需左递归

    Using https github com JetBrains Grammar Kit https github com JetBrains Grammar Kit如何在没有左递归的情况下重写语法 grammar exprs exprs
  • Bison 语义谓词语法错误,杂散“#”

    我正在尝试使用 Bison 的语义谓词 https www gnu org software bison manual html node Semantic Predicates html Semantic Predicates功能 但我在
  • Google 云消息服务器的 IP 地址

    我即将在服务器上部署 GCM 的实现 并且需要通过 IP 打开适当的防火墙 有谁知道在哪里可以找到 android googleapis com 的 IP 地址范围 Thanks 我发现 android googleapis com 的 I
  • 无法在 Windows 10 上使用 Docker Toolbox 共享/挂载卷

    我正在尝试使用 docker 设置我的项目 我在 Windows 10 家庭版上使用 Docker Toolbox 我对码头工人很陌生 据我了解 我必须将文件复制到新容器并添加一个卷 以便我可以保留 gulp 所做的更改 这是我的文件夹结构
  • Mongodb count 与 findone

    我的问题是 有一组用户 我试图找到 用户是否使用 id xxx has somevalue gt 5 我想知道 使用什么会更快find count gt 0 or findOne null 或者也许还有其他更快 更好的方法 查询时间之间的差
  • 使用 guice 构建带有注入类的框架,初始化的正确方法是什么?

    我正在尝试编写一个框架 其中任意 bean 类都通过我的 API 中的类注入 并且它们可以与这两个类交互 也可以根据定义的注释触发回调 这是一个示例 bean Experiment static class TestExperiment p
  • Android NDK:您确定您的 NDK_MODULE_PATH 变量已正确定义吗?

    最近 3天前 开始学习Android Studio 我购买了一个 Eclipse 游戏项目来玩 但出现错误 当我修复该错误时 我收到一个新错误 目前的错误如下 构建命令失败 执行过程时出错 C Users user AppData Loca
  • 不考虑回到起点的旅行商问题(TSP)的问题名称是什么?

    我想知道 TSP 的问题名称是什么 不考虑返回起点的方式 以及解决这个问题的算法是什么 我研究了最短路径问题 但这不是我想要的 问题只是从 2 个指定点找到最短路径 但我要寻找的是我们给出n个点并且只输入1个起点的问题 然后 找到经过所有点
  • 在应用程序和扩展程序之间共享捆绑资源

    我的照片共享扩展计划使用相同的设计资源 用于导航和向照片添加 图章 贴纸 如应用程序沙盒设计指南中所述 沙盒应用程序组 需要共享文件和其他信息的可以请求容器 目录作为其权利的一部分 这些目录是存放的 在 Library Group Cont
  • 如何获取 XGBClassifier 的预测 p 值?

    我想知道 XGBClassifier 对它所做的每个预测的置信度如何 有可能有这样的价值吗 或者 predict proba 是否已经间接成为模型的置信度 你的直觉确实是正确的 predict proba返回每个示例属于给定类别的概率 来自
  • 读取注册表项的性能?

    我想知道通过标准 C 库从 Windows 注册表读取注册表值需要多长时间 以毫秒为单位 在这种情况下 我正在阅读一些代理设置 我应该期望什么数量级的值 有没有好的基准数据可用 我正在运行 WS2k8 R2 amd64 加分点 操作系统 s
  • Django REST框架范围过滤器

    如何在 Django REST Framework 中对日期和数字进行范围过滤 其他过滤器 lt gt 等 工作正常 我尝试了很多变体 例如 import rest framework filters as filters class Or
  • 如何在 PHP 中将查询字符串转换为斜杠 URL?

    我想将 URL 转换为 http localhost projectname api index php type login to http localhost projectname api login Convert在这里不是一个常用
  • 如何统计Apache Flink在给定时间窗口内处理的记录数

    在flink中定义一个时间窗口后如下 val lines socket timeWindowAll Time seconds 5 如何计算该特定 5 秒窗口内的记录数 执行计数聚合的最有效方法是ReduceFunction 然而 reduc
  • 引用 jssc 库的可运行 jar 无法满足链接错误

    我们正在创建一个可运行的 java jar 来在 beagleboneblack 运行 ubuntu 上运行 我们创建了一个可运行的 jar 它可以在我们的 mac 和 pc windows 上运行良好 但不能在 ubuntu 系统上运行
  • Skype for Business URI 而不是 Skype

    因为我们可以选择通过提供 URI 来打开 Skype 中的链接 skype xyz call 我们可以做类似的事情来实现相同的功能 但它会在 Skype for Business 中打开吗 请告诉我 Cheers 经过大量研究后找到了解决方
  • 为什么Linq GroupBy在OrderBy之后驳回了订单操作?

    我有一个Action模型与Session导航属性 考虑这段代码 var x db Actions OrderBy p gt p Session Number ThenBy p gt p Date it s OK x 是一个有序的 Actio