Skip to content

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, net471

public static IObservable<IChangeSet<TObject, TKey>> EnsureUniqueKeys<TObject, TKey>(this IObservable<IChangeSet<TObject, TKey>> source) where TObject : notnull where TKey : notnull

View source

Summary: Validates that each changeset contains no duplicate keys. If duplicates are detected, an InvalidOperationException is emitted via OnError.

Type parameters

NameDescription
TObjectThe type of the object.
TKeyThe type of the key.

Parameters

NameTypeDescription
sourceIObservable>The source IObservable<IChangeSet<TObject, TKey>> to validate for unique keys.

Returns: IObservable> -- A changeset stream guaranteed to contain unique keys per changeset.

Remarks

EventBehavior
AddForwarded as Add if the key is unique within the changeset.
UpdateForwarded as Update if the key is unique within the changeset.
RemoveForwarded as Remove if the key is unique within the changeset.
RefreshForwarded as Refresh if the key is unique within the changeset.
OnErrorAlso emitted with InvalidOperationException if duplicate keys are detected in a changeset.