Join(TOuter, TInner, TKey, TResult)-Methode
Verknüpft die Ereignisse vom äußeren Datenstrom mit Ereignissen vom inneren Datenstrom anhand des vorhandenen Joinschlüssels.
Namespace: Microsoft.ComplexEventProcessing.Linq
Assembly: Microsoft.ComplexEventProcessing (in Microsoft.ComplexEventProcessing.dll)
Syntax
public static CepStream<TResult> Join<TOuter, TInner, TKey, TResult>(
this CepStream<TOuter> outer,
CepStream<TInner> inner,
Expression<Func<TOuter, TKey>> outerKeySelector,
Expression<Func<TInner, TKey>> innerKeySelector,
Expression<Func<TOuter, TInner, TResult>> selector
)
Typparameter
- TOuter
Der Ereignistyp des äußeren Datenstroms.
- TInner
Der Ereignistyp des inneren Datenstroms.
- TKey
Der Typ des Joinschlüssels.
- TResult
Der Typ des Joinergebnisses.
Parameter
- outer
Typ: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TOuter> ) > ) >
Der äußere Datenstrom.
- inner
Typ: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TInner> ) > ) >
Der innere Datenstrom.
- outerKeySelector
Typ: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TOuter, TKey> ) > ) >> ) > ) >
Selektor zum Auswählen der Schlüsselwerte aus dem Ereignis des äußeren Datenstroms.
- innerKeySelector
Typ: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TInner, TKey> ) > ) >> ) > ) >
Selektor zum Auswählen des Schlüsselwertes aus dem Ereignis des inneren Datenstroms.
- selector
Typ: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'TOuter, TInner, TResult> ) > ) >> ) > ) >
Zuordnungsausdruck, der eine Projektion auf die Ausgabe definiert.
Rückgabewert
Typ: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TResult> ) > ) >
Ein Datenstrom von verknüpften Ereignissen.
Hinweis zur Verwendung
In Visual Basic und C# können Sie die Methode als Instanzenmethode für jedes Objekt vom Typ CepStream< (Of < ( <'TOuter> ) > ) > 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
Weitere Informationen finden Sie unter Joins.
Beispiele
Im folgenden Beispiel werden Ereignisse im Datenstrom stream1 mit Ereignissen im Datenstrom stream2 verglichen. Ereignisse im Datenstrom, die die Gleichheitskriterien erfüllen, die in der Klausel on definiert wurden (zusätzlich zu sich überschneidenden Zeitintervallen der beiden Ereignisse), werden verknüpft und als ein neues Ereignis ausgegeben, das die Nutzlastfelder i und j von Ereignis e1 und Feld j von Ereignis e2 enthält.
// Assuming the following input event type for both stream1 and stream2.
public class MyPayload
{
public int i;
public float j;
}
var equiJoin = from e1 in stream1
join e2 in stream2
on e1.i equals e2.i
select new { e1.i, e1.j, e2.j };