Opérateurs de séquence (LINQ to SQL)
Dans cet article
En général, LINQ to SQL ne prend pas en charge les opérateurs de séquence qui présentent une ou plusieurs des caractéristiques suivantes :
Prennent un lambda avec un paramètre d'index.
S'appuient sur les propriétés de lignes séquentielles, telles que TakeWhile .
S'appuient sur une implémentation CLR arbitraire, telle que IComparer<T> .
Enumerable.Where<TSource>(IEnumerable<TSource>, Func<TSource, Int32, Boolean>)
Enumerable.Select<TSource, TResult>(IEnumerable<TSource>, Func<TSource, TResult>)
Enumerable.Select<TSource, TResult>(IEnumerable<TSource>, Func<TSource, TResult>)
Enumerable.TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>)
Enumerable.TakeWhile<TSource>(IEnumerable<TSource>, Func<TSource, Int32, Boolean>)
Enumerable.SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>)
Enumerable.SkipWhile<TSource>(IEnumerable<TSource>, Func<TSource, Int32, Boolean>)
Enumerable.GroupBy<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)
Enumerable.GroupBy<TSource, TKey, TElement, TResult>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, Func<TKey, IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)
Enumerable.Reverse<TSource>(IEnumerable<TSource>)
Enumerable.DefaultIfEmpty<TSource>(IEnumerable<TSource>, TSource)
Enumerable.ElementAt<TSource>(IEnumerable<TSource>, Int32)
Enumerable.ElementAtOrDefault<TSource>(IEnumerable<TSource>, Int32)
Enumerable.Range(Int32, Int32)
Enumerable.Repeat<TResult>(TResult, Int32)
Enumerable.Empty<TResult>()
Enumerable.Contains<TSource>(IEnumerable<TSource>, TSource)
Enumerable.Aggregate<TSource>(IEnumerable<TSource>, Func<TSource, TSource, TSource>)
Enumerable.Aggregate<TSource, TAccumulate>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>)
Enumerable.Aggregate<TSource, TAccumulate, TResult>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>, Func<TAccumulate, TResult>)
Enumerable.SequenceEqual
Différences par rapport à .NET
Tous les opérateurs de séquence pris en charge fonctionnent conformément aux attentes dans le Common Language Runtime (CLR) à l'exception d'Average. Average retourne une valeur du même type que le type dont la moyenne est calculée, alors que dans le CLR, Average retourne toujours un Double ou un Decimal . Si l'argument de source est casté explicitement en valeur double/decimal ou si le sélecteur caste vers une valeur double/decimal, le SQL obtenu aura également une telle conversion et le résultat obtenu sera conforme au résultat prévu.
Voir aussi
Autres ressources
Fonctions et types de données (LINQ to SQL)