C#のLEAD
またはLAG
SQL関数を使用できますか? SqlCommandオブジェクト C#コードのSQLリードおよびラグ関数
経由でSQLへ
- LINQの
- Entity Frameworkの
- ダイナミックLINQの
- SQLFunctionsクラス
- マニュアルTSQL私が知っている:
方法の私の好みがあります方法5で行うことができますが、1から4はどうですか? (githubの上の)MoreLinqプロジェクトに
C#のLEAD
またはLAG
SQL関数を使用できますか? SqlCommandオブジェクト C#コードのSQLリードおよびラグ関数
経由でSQLへ
方法の私の好みがあります方法5で行うことができますが、1から4はどうですか? (githubの上の)MoreLinqプロジェクトに
ルック:ありhttp://morelinq.github.io
、鉛や遅れが拡張として実装されています:
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
EDIT:これはオブジェクトへのLINQですのみ。したがって、SQLデータソースに適用すると、すべての行がフェッチされ、データベース外で計算されます。これは、OPが期待するものではありません。
研究結果は、項目1,2,3および4のために "それは不可能です何" を言わない:
LEAD
とLAG
は、SQL Serverの2012年に生まれましたが、SQL Serverの最新バージョンバージョン固有のコードでLinqからSQL(フレームワーク4.6.1)ターゲットの最新バージョンが2008であることを確認してください:http://referencesource.microsoft.com/#System.Data.Linq/SqlClient/SqlProvider.cs,2fac3481a656764bSqlFunctions
がリード、ラグ、または類似した何かを提供することに何のヒントがありません私はそれを見ましたが、オブジェクトへのlinqだけのようです。私は、最新のベータ版をダウンロードしてから、SQLからテーブル全体を取り出してから、メモリの遅れ/リードを実行します。 – OrdinaryOrange
http://stackoverflow.com/a/21767411