一般的には、LINQ to SQL では、次のいずれかの性質を持つシーケンス演算子はサポートされません。
ラムダとインデックス パラメーターを使用する。
シーケンス行のプロパティに依存する (TakeWhile など)。
任意の CLR 実装に依存する (IComparer<T> など)。
.NET との相違
サポートされるすべてのシーケンス演算子は、Average を除いて、共通言語ランタイム (CLR) で正常に動作します。 Average は、平均化される型と同じ型の値を返しますが、CLR での Average は、常に Double または Decimal を返します。 ソース引数が明示的に double / decimal にキャストされている場合、または、セレクターが double / decimal にキャストする場合、作成される SQL でもこのような変換が行われるため、結果に問題はありません。