次の方法で共有


Join(TOuter, TInner, TKey, TResult) メソッド

指定された結合キーで、外部ストリームのイベントを内部ストリームのイベントと結合します。

名前空間:  Microsoft.ComplexEventProcessing.Linq
アセンブリ:  Microsoft.ComplexEventProcessing (Microsoft.ComplexEventProcessing.dll)

構文

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
)

型パラメーター

  • TOuter
    外部ストリーム イベントの型。
  • TInner
    内部ストリーム イベントの型。
  • TKey
    結合キーの型。
  • TResult
    結合結果の型。

パラメーター

戻り値

型: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TResult> ) > ) >
結合されたイベントのストリーム。

使用に関するメモ

Visual Basic および C# では、このメソッドを型 CepStream< (Of < ( <'TOuter> ) > ) > の任意のオブジェクトのインスタンス メソッドとして呼び出すことができます。このメソッドを呼び出すためにインスタンス メソッドの構文を使う場合は、最初のパラメーターを省略してください。詳細については、「https://msdn.microsoft.com/ja-jp/library/bb384936(v=sql.105)」または「https://msdn.microsoft.com/ja-jp/library/bb383977(v=sql.105)」を参照してください。

説明

詳細については、「結合」を参照してください。

使用例

次の例では、ストリーム stream1 のイベントをストリーム stream2 のイベントと比較します。on 句で定義された等価条件に一致する、ストリーム内のイベント (2 つのイベントの期間は重複しています) が結合され、新しいイベントに出力されます。このイベントには、イベント e1 のペイロード フィールド i および j と、イベント e2 のフィールド j が含まれています。

// 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 };

関連項目

参照

CepStream クラス

Microsoft.ComplexEventProcessing.Linq 名前空間