gpt4 book ai didi

c# - LINQ/Entity Framework中的方法语法和查询语法的延期执行是否以相同的方式工作?

转载 作者:太空宇宙 更新时间:2023-11-03 17:32:49 24 4
gpt4 key购买 nike

我想知道Deferred Execution是否可以用于方法语法和查询语法中的查询,我想知道是否存在任何区别。谢谢

最佳答案

实际上,只有方法语法。使用查询语法编写查询时,编译器会将其转换为方法语法(实际上是静态方法调用)。

例:

扩展方法调用(方法语法)

var query = sequence.Select(x => x.Property);


编译为(是的,扩展方法只是用于调用静态类方法的语法糖)

var query = Queryable.Select(sequence, x => x.Property);


给出相同的结果(这是相同的Queryable / Enumerable方法调用的语法糖)

var query = from x in sequence
select x.Property;


因此,两种语法都产生相同的代码。因此,您所使用的语法没有区别-延迟执行(以及其他任何方式)将以相同的方式工作。

关于c# - LINQ/Entity Framework中的方法语法和查询语法的延期执行是否以相同的方式工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13622197/

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