gpt4 book ai didi

c# - 来自 C# 代码的 SQL Lead 和 Lag 函数

转载 作者:太空狗 更新时间:2023-10-30 01:32:23 26 4
gpt4 key购买 nike

是否可以在 C# 中使用 LEADLAG SQL 函数?

我偏爱的方法是:

  1. Linq to SQL
  2. Entity Framework
  3. 动态链接
  4. SQLFunctions 类
  5. 通过 SQLCommand 手动 TSQL

我知道可以通过方法 5 完成,但是方法 1 到 4 呢?

最佳答案

查看 MoreLinq 项目(在 github 上):http://morelinq.github.io

在那里,Lead 和 Lag 被实现为扩展:

public static IEnumerable<TResult> Lag<TSource, TResult>(
this IEnumerable<TSource> source,
int offset,
TSource defaultLagValue,
Func<TSource, TSource, TResult> resultSelector
)

引用:https://morelinq.github.io/2.0/ref/api/html/M_MoreLinq_MoreEnumerable_Lag__2_1.htm

编辑:这只是 Linq to Objects。因此,当应用于 SQL 数据源时,它会获取所有行,然后在数据库外部进行计算。这不是 OP 所期望的。

研究结果对项目 1、2、3 和 4 说“,这是不可能的”:

关于c# - 来自 C# 代码的 SQL Lead 和 Lag 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37384819/

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