gpt4 book ai didi

c# - LinqToSql 中的子查询是否保证与其父查询的顺序相同?

转载 作者:行者123 更新时间:2023-11-30 19:51:34 25 4
gpt4 key购买 nike

假设我有一个包含 DateTime 字段和一个 int 字段的表并执行如下查询:

var query = context.tblSomeTable.Where(s=>s.Name == "Hello World").OrderBy(s=>s.SignUpDate);

如果我随后对结果执行两个子查询,它们是否仍按日期排序?

var sub1 = query.Where(s=>s.Id = 5);
var sub2 = query.Where(s=>s.Id = 8);

我的直觉告诉我它们仍然是有序的,但是如果原始查询已经迭代/执行过,这有关系吗?

最佳答案

是的,但是,说它们“仍然”有序是错误的。它们在最后被订购一次。

关于 LinqtoSql 需要注意的重要一点是它仅构建一个查询,该查询在使用 时执行。在您显示的示例中,您还没有实际使用查询。您刚刚构建了两个大查询

它们都会生成这条 SQL 语句:

select * from tblSomeTable s
where s.Name = 'Hello World' and s.ID == @p1
order by s.SignUpDate

当你使用sub1时,@p1会被设置为5

(实际上,'Hello World' 也将作为参数传递...)

关于c# - LinqToSql 中的子查询是否保证与其父查询的顺序相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/911942/

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