Class Subscription
A set of extension methods exposing query-based sync related functionality over collections.
Namespace: Realms.Sync
Assembly: Realm.dll
Syntax
public static class Subscription
Methods
| Improve this Doc View SourceGetAllSubscriptions(Realm)
Returns all subscriptions registered for that Realm.
Declaration
public static IRealmCollection<NamedSubscription> GetAllSubscriptions(this Realm realm)
Parameters
Type | Name | Description |
---|---|---|
Realm | realm | A Realm opened with a QueryBasedSyncConfiguration. |
Returns
Type | Description |
---|---|
IRealmCollection<NamedSubscription> | A queryable collection of all registered subscriptions. |
Subscribe<T>(IQueryable<T>, SubscriptionOptions, Expression<Func<T, IQueryable>>[])
For Realms using query-based synchronization, fetches and synchronizes the objects that match the query.
Declaration
public static Subscription<T> Subscribe<T>(this IQueryable<T> query, SubscriptionOptions options = null, params Expression<Func<T, IQueryable>>[] includedBacklinks)
Parameters
Type | Name | Description |
---|---|---|
IQueryable<T> | query | A query, obtained by calling All<T>() with or without additional filtering applied. |
SubscriptionOptions | options | Options that configure some metadata of the subscription, such as its name or time to live. |
Expression<Func<T, IQueryable>>[] | includedBacklinks | An array of property expressions which specifies which linkingObjects relationships should be included in the subscription. Subscriptions already include link and list properties (in the forward direction) automatically by default. |
Returns
Type | Description |
---|---|
Subscription<T> | A Subscription<T> instance that contains information and methods for monitoring the state of the subscription. |
Type Parameters
Name | Description |
---|---|
T | The type of the objects making up the query. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
ArgumentException | Thrown if the |
Subscribe<T>(IQueryable<T>, String)
For Realms using query-based synchronization, fetches and synchronizes the objects that match the query.
Declaration
[Obsolete("Use Subscribe(query, options) instead.")]
public static Subscription<T> Subscribe<T>(this IQueryable<T> query, string name)
Parameters
Type | Name | Description |
---|---|---|
IQueryable<T> | query | A query, obtained by calling All<T>() with or without additional filtering applied. |
String | name | The name of this query that can be used to unsubscribe from. |
Returns
Type | Description |
---|---|
Subscription<T> | A Subscription<T> instance that contains information and methods for monitoring the state of the subscription. |
Type Parameters
Name | Description |
---|---|
T | The type of the objects making up the query. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
ArgumentException | Thrown if the |
UnsubscribeAsync(Realm, String)
Cancel a named subscription that was created by calling Subscribe<T>(IQueryable<T>, SubscriptionOptions, Expression<Func<T, IQueryable>>[]).
Removing a subscription will delete all objects from the local Realm that were matched only by that subscription and not any remaining subscriptions. The deletion is performed by the server, and so has no immediate impact on the contents of the local Realm. If the device is currently offline, the removal will not be processed until the device returns online.
Declaration
public static Task UnsubscribeAsync(this Realm realm, string subscriptionName)
Parameters
Type | Name | Description |
---|---|---|
Realm | realm | The Realm where this subscription was added. |
String | subscriptionName | The name of the subscription to remove. |
Returns
Type | Description |
---|---|
Task | An awaitable task, that indicates that the subscription has been removed locally. |
UnsubscribeAsync<T>(Subscription<T>)
Cancel a subscription that was created by calling Subscribe<T>(IQueryable<T>, SubscriptionOptions, Expression<Func<T, IQueryable>>[]).
Removing a subscription will delete all objects from the local Realm that were matched only by that subscription and not any remaining subscriptions. The deletion is performed by the server, and so has no immediate impact on the contents of the local Realm. If the device is currently offline, the removal will not be processed until the device returns online.
Declaration
public static Task UnsubscribeAsync<T>(this Subscription<T> subscription)
Parameters
Type | Name | Description |
---|---|---|
Subscription<T> | subscription | The subscription to cancel. |
Returns
Type | Description |
---|---|
Task | An awaitable task, that indicates that the subscription has been removed locally. |
Type Parameters
Name | Description |
---|---|
T | The type of the objects that make up the subscription query. |