Sequenzoperatoren (LINQ to SQL)
In diesem Artikel
Im Allgemeinen unterstützt LINQ to SQL keine Sequenzoperatoren, die über eine oder mehrere der folgenden Qualitäten verfügen:
Annehmen eines Lambda mit einem Indexparameter.
Verwenden der Eigenschaften sequenzieller Zeilen, wie TakeWhile .
Verwenden einer beliebigen CLR-Implementierung, z. B. 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
Unterschiede zu .NET
Alle unterstützten Sequenzoperatoren funktionieren in der Common Language Runtime (CLR) wie erwartet, außer Average. Average gibt einen Wert des Typs zurück, der dem Typ entspricht, dessen Durchschnitt ermittelt wird, wohingegen Average in der CLR entweder immer ein Double oder ein Decimal zurückgibt. Wird das Quellargument explizit in double/decimal oder wird der Selector in double/decimal umgewandelt, weist auch die resultierende SQL diese Umwandlung auf, und das Ergebnis entspricht den Erwartungen.
Siehe auch
Weitere Ressourcen
Datentypen und Funktionen (LINQ to SQL)