},System.IObservable{DynamicData.IChangeSet{--2,--3}},System.Func{--2,--1},System.Func{--0,DynamicData.IGrouping{--2,--3,--1},--4})} },System.IObservable{DynamicData.IChangeSet{--2,--3}},System.Func{--2,--1},System.Func{--1,--0,DynamicData.IGrouping{--2,--3,--1},--4})}
ObservableCacheEx.InnerJoinMany(IObservable>, IObservable>, Func, Func, TDestination>) method¶
Defined in
Type: ObservableCacheEx
Namespace: DynamicData
Assembly: DynamicData.dll
Applies to
net10.0, net10.0-browserwasm1.0, net10.0-desktop1.0, net9.0, net9.0-browserwasm1.0, net9.0-desktop1.0, net8.0, net8.0-ios17.5, net8.0-maccatalyst17.5, net8.0-macos14.2, net8.0-macos14.5, net8.0-tvos17.2, netstandard2.1, netstandard2.0, net462
Overloads¶
- 1.
public static IObservable<IChangeSet<TDestination, TLeftKey>> InnerJoinMany<TLeft, TLeftKey, TRight, TRightKey, TDestination>(this IObservable<IChangeSet<TLeft, TLeftKey>> left, IObservable<IChangeSet<TRight, TRightKey>> right, Func<TRight, TLeftKey> rightKeySelector, Func<TLeft, IGrouping<TRight, TRightKey, TLeftKey>, TDestination> resultSelector) where TLeft : notnull where TLeftKey : notnull where TRight : notnull where TRightKey : notnull where TDestination : notnull - 2.
public static IObservable<IChangeSet<TDestination, TLeftKey>> InnerJoinMany<TLeft, TLeftKey, TRight, TRightKey, TDestination>(this IObservable<IChangeSet<TLeft, TLeftKey>> left, IObservable<IChangeSet<TRight, TRightKey>> right, Func<TRight, TLeftKey> rightKeySelector, Func<TLeftKey, TLeft, IGrouping<TRight, TRightKey, TLeftKey>, TDestination> resultSelector) where TLeft : notnull where TLeftKey : notnull where TRight : notnull where TRightKey : notnull where TDestination : notnull
1. Overload¶
public static IObservable<IChangeSet<TDestination, TLeftKey>> InnerJoinMany<TLeft, TLeftKey, TRight, TRightKey, TDestination>(this IObservable<IChangeSet<TLeft, TLeftKey>> left, IObservable<IChangeSet<TRight, TRightKey>> right, Func<TRight, TLeftKey> rightKeySelector, Func<TLeft, IGrouping<TRight, TRightKey, TLeftKey>, TDestination> resultSelector) where TLeft : notnull where TLeftKey : notnull where TRight : notnull where TRightKey : notnull where TDestination : notnull
Summary: Groups the right data source and joins the resulting group to the left data source, matching these using the specified key selector. Results are included when the left and right have matching values. This is the equivalent of SQL inner join.
Type parameters
| Name | Description |
|---|---|
TLeft | The object type of the left data source. |
TLeftKey | The key type of the left data source. |
TRight | The object type of the right data source. |
TRightKey | The key type of the right data source. |
TDestination | The resulting object which. |
Parameters
| Name | Type | Description |
|---|---|---|
left | IObservable | The left data source. |
right | IObservable | The right data source. |
rightKeySelector | Func | Specify the foreign key on the right data source. |
resultSelector | Func | The result selector.used to transform the combined data into. Example (left, right) => new CustomObject(key, left, right). |
Returns: IObservable
2. Overload¶
public static IObservable<IChangeSet<TDestination, TLeftKey>> InnerJoinMany<TLeft, TLeftKey, TRight, TRightKey, TDestination>(this IObservable<IChangeSet<TLeft, TLeftKey>> left, IObservable<IChangeSet<TRight, TRightKey>> right, Func<TRight, TLeftKey> rightKeySelector, Func<TLeftKey, TLeft, IGrouping<TRight, TRightKey, TLeftKey>, TDestination> resultSelector) where TLeft : notnull where TLeftKey : notnull where TRight : notnull where TRightKey : notnull where TDestination : notnull
Summary: Groups the right data source and joins the resulting group to the left data source, matching these using the specified key selector. Results are included when the left and right have matching values. This is the equivalent of SQL inner join.
Type parameters
| Name | Description |
|---|---|
TLeft | The object type of the left data source. |
TLeftKey | The key type of the left data source. |
TRight | The object type of the right data source. |
TRightKey | The key type of the right data source. |
TDestination | The resulting object which. |
Parameters
| Name | Type | Description |
|---|---|---|
left | IObservable | The left data source. |
right | IObservable | The right data source. |
rightKeySelector | Func | Specify the foreign key on the right data source. |
resultSelector | Func | The result selector.used to transform the combined data into. Example (key, left, right) => new CustomObject(key, left, right). |
Returns: IObservable