Freigeben über


SelectMany(TInput, TBind, TResult)-Methode (CepStream(TInput), Expression(Func(CepStream(TInput), CepStream(TBind))), Expression(Func(TInput, TBind, TResult)))

Erzeugt auf der Grundlage des Kreuzjoins von zwei Eingabedatenströmen einen Datenstrom.

Namespace:  Microsoft.ComplexEventProcessing.Linq
Assembly:  Microsoft.ComplexEventProcessing (in Microsoft.ComplexEventProcessing.dll)

Syntax

public static CepStream<TResult> SelectMany<TInput, TBind, TResult>(
    this CepStream<TInput> source,
    Expression<Func<CepStream<TInput>, CepStream<TBind>>> bind,
    Expression<Func<TInput, TBind, TResult>> selector
)

Typparameter

  • TInput
    Der Nutzlasttyp der Ereignisse aus dem äußeren Eingabedatenstrom.
  • TBind
    Der Nutzlasttyp der Ereignisse aus dem inneren Eingabedatenstrom.
  • TResult
    Der Nutzlasttyp der Ergebnisereignisse.

Parameter

Rückgabewert

Typ: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TResult> ) > ) >
Ein Datenstrom, wobei das Ergebnis ein Kreuzjoin des äußeren und inneren Datenstroms ist.

Hinweis zur Verwendung

In Visual Basic und C# können Sie die Methode als Instanzenmethode für jedes Objekt vom Typ CepStream< (Of < ( <'TInput> ) > ) > aufrufen. Wenn Sie Instanzmethodensyntax zum Aufruf dieser Methode verwenden, vernachlässigen Sie den ersten Parameter. Weitere Informationen finden Sie unter https://msdn.microsoft.com/de-de/library/bb384936(v=sql.105) oder https://msdn.microsoft.com/de-de/library/bb383977(v=sql.105).

Hinweise

Ereignisse des inneren und äußeren Datenstroms werden auch bei Anwendung eines Kreuzjoins nur dann verglichen und als Joinergebnis ausgegeben, wenn deren Lebensdauer überlappt. Weitere Informationen finden Sie unter Joins.

Beispiele

Im folgenden Beispiel werden Ereignisse in stream1, die über einen Wert im Nutzlastfeld i verfügen, der größer als 3 ist, mit Ereignissen von stream2 mit einem Wert im Nutzlastfeld j, der kleiner als 10 ist, verknüpft.

var crossJoin = from e1 in stream1
                from e2 in stream2
                where e1.i > 3 && e2.j < 10
                select new { e1.i, e2.j };

Siehe auch

Verweis

CepStream Klasse

SelectMany-Überladung

Microsoft.ComplexEventProcessing.Linq-Namespace