gpt4 book ai didi

Linq-to-sql orderby thenby

转载 作者:行者123 更新时间:2023-12-03 09:03:05 28 4
gpt4 key购买 nike

我正在使用以下查询语法

from table
where
where
orderby
orderby

其中第一个 orderby 是一个日期,第二个 orderby 是一个日期。我认为这将像 orderby thenby 一样工作,但似乎正在做其他事情。
  • 我怎样才能通过使用上述语法而不使用扩展语法来进行排序。 (知道了)
  • 而orderby、orderby又是做什么的呢?
  • 最佳答案

    How can I do an orderby thenby using the above syntax without using extension syntax.



    在字段之间使用逗号:
    orderby a, b

    And what does the orderby, orderby do?



    当您使用 orderby连续两次元素在概念上将首先使用第一个 orderby 进行排序,然后使用第二个 orderby 再次排序.因为排序被定义为 stable sort (与第二个 orderby 绑定(bind)的对象将保持与第一个 orderby 排序后相同的顺序,这实际上意味着:
    var query = from x in l
    orderby x.A
    orderby x.B
    select x;

    相当于:
    var query = from x in l
    orderby x.B, x.A
    select x;

    结果是 orderby术语与您可能的意图交换。

    用 LINQ to SQL 测试它

    这可以通过在 LINQ to SQL 中尝试来验证。我创建了以下查询:
    var query = from a in dc.Orders
    orderby a.Date
    orderby a.CustomerID
    select a;

    这是生成的 SQL:
    SELECT [t0].[ID], [t0].[CustomerID], [t0].[Date], [t0].[Description]
    FROM [dbo].[Order] AS [t0]
    ORDER BY [t0].[CustomerID], [t0].[Date]

    请注意 orderby a.Date不被忽视。这两个术语都包含在 ORDER BY 子句中,但顺序与您的预期相反。

    关于Linq-to-sql orderby thenby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2908029/

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