クラスサブスクリプションセット
Realmインスタンスのアクティブなサブスクリプションのセットを表すコレクション。 これは、サーバーと同期するクエリのセットを宣言するために、 FlexibleSyncConfigurationと組み合わせて使用されます。 サブスクリプションセットには自由にアクセスして読み取ることができますが、これをミューテーションするにはUpdate(アクション)ブロックが必要です。
名前空間: Realm 。同期
組み立て: Realm.dll
構文
public class SubscriptionSet : IReadOnlyList<Subscription>, IReadOnlyCollection<Subscription>, IEnumerable<Subscription>, IEnumerable
コメント
サブスクリプションセットへの変更はローカルに保持され、次回アプリケーションが起動したときに利用できるようになります。つまり、毎回同じクエリをサブスクライブする必要はありません。 サブスクリプションセットの更新はオフラインでも実行でき、接続が復元されるたびに最新の更新のみがサーバーに送信されます。
更新は可能な限りバッチ処理し、アプリケーションが必要とするデータセットを事前にリクエストすることを強くお勧めします。 Realm のアクティブなサブスクリプションのセットを更新すると、ダウンロードが必要なデータが非常に少ない場合でも、コストのかかる操作サーバーサイドになります。
プロパティ
| このページを編集 ソースを表示数
コレクション内の要素の数を取得します。
宣言
public int Count { get; }
プロパティ値
タイプ | 説明 |
---|---|
整数 | コレクション内の要素の数。 |
エラー
宣言
public Exception? Error { get; }
プロパティ値
タイプ | 説明 |
---|---|
例外 | サブスクリプション セットがサーバーによって拒否された理由の詳細を提供する例外。 |
この[int]
セット内の指定されたインデックスのサブスクリプションを取得します。
宣言
public Subscription this[int index] { get; }
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
整数 | index | 取得する要素の 0 から始まるインデックス。 |
プロパティ値
タイプ | 説明 |
---|---|
サブスクリプション | セット内の指定されたインデックスのサブスクリプション。 |
状態
サブスクライブ セットの状態を取得します。
宣言
public SubscriptionSetState State { get; }
プロパティ値
タイプ | 説明 |
---|---|
SubscriptionSetState | サブスクライブセットの状態。 |
メソッド
| このページを編集 ソースを表示Add%:<T><T>
アクティブなサブスクライブのセットにクエリを追加します。 クエリは、同じタイプの既存のクエリと OR ステートメントを介して結合されます。
宣言
public Subscription Add<T>(IQueryable<T> query, SubscriptionOptions? options = null) where T : IRealmObject
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
IQueryable <T> | クエリ | サーバー上で一致するクエリ。 |
SubscriptionOptions | options | 実行される挿入の名前やタイプを制御する サブスクライブ オプション。 |
戻り値
タイプ | 説明 |
---|---|
サブスクリプション | 指定されたクエリを表す サブスクライブ 。 |
型パラメータ
名前 | 説明 |
---|---|
t | クエリ結果内のオブジェクトの型。 |
コメント
すでに存在するクエリを追加しても何も処理されず、既存のサブスクライブが返されます。
Find(string)
名前でサブスクライブを検索します。
宣言
public Subscription? Find(string name)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
string | name | サブスクライブの名前。 |
戻り値
タイプ | 説明 |
---|---|
サブスクリプション | サブスクリプションセットに指定された名前のサブスクライブが含まれている場合、名前が |
<T>Find=T>(IQueryable=T>)<T>
クエリによってサブスクライブを検索します。
宣言
public Subscription? Find<T>(IQueryable<T> query) where T : IRealmObject
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
IQueryable <T> | クエリ | サブスクリプションを説明するクエリ。 |
戻り値
タイプ | 説明 |
---|---|
サブスクリプション | クエリ が提供された と一致する サブスクリプション |
型パラメータ
名前 | 説明 |
---|---|
t | クエリ内のオブジェクトの型。 |
Remove(サブスクリプション)
提供されたsubscription
をこのサブスクライブ セットから削除します。
宣言
public bool Remove(Subscription subscription)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
サブスクリプション | サブスクリプション | 削除するサブスクライブ。 |
戻り値
タイプ | 説明 |
---|---|
ブール |
|
Remove(string)
指定されたname
のサブスクライブを削除します。
宣言
public bool Remove(string name)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
string | name | 削除するサブスクライブの名前。 |
戻り値
タイプ | 説明 |
---|---|
ブール |
|
すべて削除(bool)
このサブスクライブセットからすべてのサブスクライブを削除します。
宣言
public int RemoveAll(bool removeNamed = false)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
ブール | deleteNamed | 名前付きサブスクリプションも削除するかどうかを示すフラグ。 デフォルトは false です。 |
戻り値
タイプ | 説明 |
---|---|
整数 | セット内に存在し、削除されたサブスクライブの数。 |
すべて削除(string, ブール)
提供されたclassName
のすべてのサブスクライブを削除します。
宣言
public int RemoveAll(string className, bool removeNamed = false)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
string | クラス名 | サブスクリプションを削除するタイプの名前。 |
ブール | deleteNamed | 名前付きサブスクリプションも削除するかどうかを示すフラグ。 デフォルトは false です。 |
戻り値
タイプ | 説明 |
---|---|
整数 | このタイプに存在し、削除されたサブスクライブの数。 |
<T>すべて削除
指定したタイプのすべてのサブスクライブを削除します。
宣言
public int RemoveAll<T>(bool removeNamed = false) where T : IRealmObject
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
ブール | deleteNamed | 名前付きサブスクリプションも削除するかどうかを示すフラグ。 デフォルトは false です。 |
戻り値
タイプ | 説明 |
---|---|
整数 | このタイプに存在し、削除されたサブスクライブの数。 |
型パラメータ
名前 | 説明 |
---|---|
t | サブスクリプションを削除する必要があるオブジェクトのタイプ。 |
<T>Remove=T>(IQueryable=T>,bool)<T>
指定されたquery
のサブスクライブを削除します。
宣言
public int Remove<T>(IQueryable<T> query, bool removeNamed = false) where T : IRealmObject
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
IQueryable <T> | クエリ | 一致するサブスクリプションが削除されるクエリ。 |
ブール | deleteNamed | 名前付きサブスクリプションも削除するかどうかを示すフラグ。 デフォルトは false です。 |
戻り値
タイプ | 説明 |
---|---|
整数 |
|
型パラメータ
名前 | 説明 |
---|---|
t | クエリ結果内のオブジェクトの型。 |
Update(Action)
サブスクリプションセット を更新し、バックグラウンドのサーバーにリクエストを送信します。
宣言
public void Update(Action action)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
アクション | アクション | このセットにサブスクリプションを追加または削除して実行するアクション。 |
コメント
Update(Action) を呼び出すことは、 サブスクリプ ションセットをミューテーションするための前提条件です。たとえば、 <T>Add=T==IQueryable=T<T> =============================================================================
これを呼び出すと、このSubscriptionSetの内容が更新される可能性があります。たとえば、バックグラウンド スレッドで別のUpdate(Action)が呼び出された場合や、状態が変更された場合などです。
更新されたサブスクリプションに一致するデータをサーバーが確認して送信するまで待機する場合は、 WaitForSynchronizationAsync(CancelToken?)を使用します。
WaitForSynchronizationAsync(CancelToken?)
サーバーがサブスクリプションセットを確認し、一致するオブジェクトを返すまで待ちます。
宣言
public Task WaitForSynchronizationAsync(CancellationToken? cancellationToken = null)
パラメーター
タイプ | 名前 | 説明 |
---|---|---|
CancelTokenか。 | completedToken | 待機操作をキャンセルするために使用できる任意のキャンセル トークン。 |
戻り値
タイプ | 説明 |
---|---|
タスク | 待機可能なタスク。正常に完了すると、サーバーがサブスクリプションの変更を処理し、新しいサブスクリプションに一致するすべてのデータが送信されたことを示します。 |
コメント
サブスクリプションセットの状態が完了の場合、返されたタスクはすぐに完了します。 状態がエラーの場合、返されたタスクはエラーですぐに拒否されます。
変更によって Realm からオブジェクトが削除される結果になった場合 - たとえば、サブスクリプションが削除されたため、それらのオブジェクトは返されたタスクが完了する前に削除されます。