DISTINCT() 和 ORDERBY 问题

2024-03-21

我正在学习 LINQ-to-SQL,一切都很顺利,直到发生了一些奇怪的事情:

我试着举个例子distinct,因此,使用 Northwind 数据库,我编写了以下查询:

var query = 
    from o in db.Orders
    orderby o.CustomerID
    select new
    {
        o.CustomerID
    };

如果我打印 LINQ-to-SQL 为存储在中的查询生成的 SQLquery它看起来像这样:

SELECT [t0].[CustomerID]
FROM [dbo].[Orders] AS [t0]
ORDER BY [t0].[CustomerID]

因此,像往常一样,查询会带来所有CustomerID对于每个Order in the Orders表按字母顺序排列。

但!如果我使用Distinct()像这样的方法:

var query = (
    from o in db.Orders
    orderby o.CustomerID
    select new
    {
        o.CustomerID
    }).Distinct();

查询带来了预期的结果Distinct条款,但是CustomerID尽管我写了,但 s 没有被订购orderby o.CustomerID!

第二个 LINQ 查询的 SQL 查询如下:

SELECT DISTINCT [t0].[CustomerID]
FROM [dbo].[Orders] AS [t0]

正如我们所看到的**ORDER BY缺少条款。这是为什么?

为什么ORDER BY当我使用时子句消失Distinct() method?


来自可查询的、独特的文档 http://msdn.microsoft.com/en-us/library/bb348456;

预期的行为是它返回源中唯一项目的无序序列。

换句话说,当您使用时,现有 IQueryable 的任何顺序都会丢失Distinct() on it.

你想要的可能更像是这样的,一个 OrderBy()afterDistinct() 已完成;

var query = (from o in db.Orders
             select new
             {
                 o.CustomerID
             }).Distinct().OrderBy(x => x.CustomerID);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DISTINCT() 和 ORDERBY 问题 的相关文章

随机推荐

  • 如何将 Subversion 存储库(而不是我的工作副本)恢复为特定修订版?

    我对 Subversion 比较陌生 来自 Source Safe 这让我抓狂 使用 Tortoise 界面 Commit 不断向我显示 bin 目录中的 java 文件 它说这些文件 丢失 好吧 这是一个单独的问题 基本上 当我尝试了几种
  • 如何仅获取 yum 更新列表

    好吧 我一直有这个问题 我只想使用 yum 从 Linux 系统 RHEL 或 Fedora 通过 bash 脚本在文件中列出可用的更新 但我总是必须处理创建的标头信息 如下所示 Loaded plugins XXXX repo XXXX
  • .vimrc 导致错误(E10: \ 后面应该跟 /、? 或 &)

    我已经复制粘贴了这个 vimrc http amix dk vim vimrc html进入 Fedora 15 中的 etc vimrc 中 每次我使用 vim 执行任何操作时 我都会收到许多行号错误 这些错误似乎不是我的 vimrc 文
  • 如何在react-google-maps中调用函数getCenter()和其他函数

    I tried
  • 自定义 WordPress 主题:布局图像不显示

    我正在构建一个自定义 WordPress 主题 所以我的主题文件夹包含以下文件 文件夹 header php index php footer php style css images picture 1 jpg 我的问题是我无法使用正确显
  • 检查特定输入文件是否为空

    在我的表单中 我有 3 个用于文件上传的输入字段
  • iPhone iOS 如何在适当的位置翻转/反射任何 UIView?

    我知道如何通过在其边界内重新绘制 UIImage 来翻转 反射 旋转它 IBAction reflectImageView UIImageView imageView UIGraphicsBeginImageContextWithOptio
  • 配置的 iPhone 未显示在 Xcode Organizer(或 iTunes)中

    我最近设置了应用程序 ID 和配置文件 并且能够在设备上成功测试我的应用程序 然后 我下载了一些示例 iOS XCode 项目 在部署其中一个项目并从手机中删除示例应用程序后 我无法将手机与 iTunes 同步 也无法在 Xcode 管理器
  • iOS 自动续订在当前订阅期结束时过期

    我订购了自动续订产品 5分钟后 它就过期了 我认为在Sandbox中5分钟等于1个月 当前订阅期结束时 5分钟后 不应该自动续订吗 但它已经过期了 在沙盒环境中 自动续订订阅的时间比实际时间要短得多 从这个答案 https stackove
  • 在两个单独的脚本之间共享变量[重复]

    这个问题在这里已经有答案了 我正在尝试在两个单独的选项卡中运行的两个不同的 Tampermonkey 脚本之间共享变量 我尝试在一个脚本中使用 GM setValue 然后在另一个脚本中使用 GM getValue 检索它 但没有成功 所以
  • XML:跨越其他元素的里程碑或元素

    我正在与OSIS http bibletechnologies net 开放圣经信息标准 用于描述圣经和相关文本的 XML 模式 当我第一次查看 XML 示例时 我注意到一些以前在 XML 中从未见过的奇怪之处 主要是关闭的标签 然后是逻辑
  • ANDROID_HOME 和 ANDROID_SDK_ROOT 环境变量均未导出 - Windows 10

    我是一个初学者 正在学习appium工具 尝试启动 appium 会话并收到错误 An unknown server side error occurred while processing the command Original err
  • 如何使用 mysqli 插入 MySQL

    我刚刚学习数据库 我希望能够存储用户输入 关于如何使用 PHP 获取表单数据并将其保存到数据库的基本示例是什么 还确保表单安全SQL攻击 http en wikipedia org wiki SQL injection File 示例 ht
  • Scala脚本等待mongo完成任务

    我正在编写一个简单的基于 scala 的脚本 该脚本应该将一些数据插入 Mongo 集合中 问题是 该脚本在 mongo 完成其任务之前退出 考虑以下脚本 处理该问题的惯用 最佳方法是什么 usr bin env scalas scalaV
  • 如何检查可以找到多少列字符[重复]

    这个问题在这里已经有答案了 我有一个包含 4 列的数据集 其中包含名称 其中名称的数量和名称的顺序在列之间有所不同 某些列还可以包含相同的名称两次或更多次 看起来如下 df lt data frame x1 c Ben Alex Tim L
  • SQL Server 将字符串长度减少到 8000 个字符

    我正在尝试将数据插入列数据类型为的表中NTEXT 理想情况下 它应该存储超过 8000 个字符 但在我的情况下 它会将其减少到 8000 个字符 我正在程序中运行时进行插入查询 以下是该过程正在进行的示例查询 INSERT INTO TMP
  • Eclipse 中的 CPLEX 库路径错误

    我正在使用 eclipse 进行 java 编码 我完成了代码 它在 CPLEX 库 12 6 上运行良好 我在属性 gt 库 gt 添加外部 jar gt cplex jar 中添加了库 我想更改CPLEX 12 7的库 所以我删除了以前
  • POI条形图生成一系列有问题

    我使用 JDK8 和 POI 4 1 0 使用它们的示例herea link http svn apache org repos asf poi trunk src examples src org apache poi xwpf user
  • c 中 tan(90) 的值?

    它给出的值是 557135813 94455 每次值都会保持不变吗 为什么它不显示无穷大 include
  • DISTINCT() 和 ORDERBY 问题

    我正在学习 LINQ to SQL 一切都很顺利 直到发生了一些奇怪的事情 我试着举个例子distinct 因此 使用 Northwind 数据库 我编写了以下查询 var query from o in db Orders orderby