gpt4 book ai didi

linq - 为什么选择linq to EF对输出列表进行排序的方法?

转载 作者:行者123 更新时间:2023-12-03 07:07:47 25 4
gpt4 key购买 nike

我在 SQL Server 数据库中有 Shifts 表

RecID   ShiftTime   StartTime   EndTime1       Day         06:40       15:452       After       15:46       23:303       Night       23:31       06:394       ShortDay    06:40       12:305       MiddDay     12:31       19:00

RecID - int、ShiftTime、StartTime 和 EndTime - varchar(20)

当我评估以下 linq 查询时
var shiftsNames = context.Shifts.Select(s => s.ShiftTime);
它将输出排序为 After、Day、MiddDay、Night、ShortDay。

以这种形式
var shifts = context.Shifts.ToList();
var shiftsNames = shifts.Select(s=>s.ShiftTime).ToList();
linq 按预期工作,无需排序。

最佳答案

第一个查询返回来自 SQL Server 的排序 - 查询中未指定排序,因此您不能假设有关顺序的任何信息。
第二个查询也是如此,但似乎默认的“未排序”顺序开始工作。
如果需要,请添加排序。

在 SQL 中尝试一下:

Select * from table
Select col from table

这很可能会得到不同的排序顺序。这就是您在这里看到的内容。

关于linq - 为什么选择linq to EF对输出列表进行排序的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22065260/

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