Conjunto de assinaturas de classe
Uma collection que representa o conjunto de assinaturas ativas para uma Instância de Realm . Isso é usado em combinação com FlexibleSyncConfiguration para declarar o conjunto de query que você deseja sincronizar com o servidor. Você pode acessar e ler o conjunto de assinaturas livremente, mas a mutação deve ocorrer em um bloco de atualização (ação) .
Implementos
namespace: Realms.sincronizar
Conjunto: Realm.exe
Sintaxe
public class SubscriptionSet : IReadOnlyList<Subscription>, IReadOnlyCollection<Subscription>, IEnumerable<Subscription>, IEnumerable
Observações
Quaisquer alterações no conjunto de assinaturas serão mantidas localmente e estarão disponíveis na próxima vez que o aplicativo for iniciado - ou seja, não é necessário assinar a mesma query todas as vezes. A atualização do conjunto de assinaturas pode ser feita enquanto estiver offline, e somente a atualização mais recente será enviada ao servidor sempre que a conectividade for restaurada.
É altamente recomendável que você atualize em lote o máximo possível e solicite o conjunto de dados que seu aplicativo precisa antecipadamente. Atualizar o conjunto de assinaturas ativas para um Realm é uma operação cara no lado do servidor, mesmo que haja muito poucos dados que precisem ser baixados.
Propriedades
| Editar esta página Ver fonteContar
Obtém o número de elementos na collection.
Declaração
public int Count { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
int | O número de elementos na collection. |
Erro
Obtém o erro associado a este conjunto de assinaturas, se houver. Isso só será não nulo se o estado for Error.
Declaração
public Exception? Error { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
Exceção | A exceção que fornece mais detalhes do motivo pelo qual o conjunto de assinaturas foi rejeitado pelo servidor. |
isto[int]
Obtém a assinatura no índice especificado no conjunto.
Declaração
public Subscription this[int index] { get; }
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
int | index | O índice baseado em zero do elemento a ser obtido. |
Valor da propriedade
Tipo | Descrição |
---|---|
inscrição | A assinatura no índice especificado no conjunto. |
Estado
Obtém o estado do conjunto de assinaturas.
Declaração
public SubscriptionSetState State { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
Estado do conjunto de assinaturas | O estado do conjunto de assinaturas. |
Métodos
| Editar esta página Ver fonteAdicionar<T>(IQueryable<T>, SubscriptionOptions?)
Adiciona uma query ao conjunto de assinaturas ativas. A query será unida por meio de uma declaração OR com quaisquer queries existentes para o mesmo tipo.
Declaração
public Subscription Add<T>(IQueryable<T> query, SubscriptionOptions? options = null) where T : IRealmObject
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
IQueryable<T> | Query | A query que será correspondida no servidor. |
Opções de assinatura | opções | As opções de assinatura controlando o nome e/ou o tipo de inserção que será executada. |
Devoluções
Tipo | Descrição |
---|---|
inscrição | A assinatura que representa a query especificada. |
Parâmetros de tipo
Nome | Descrição |
---|---|
t | O tipo de objetos nos resultados da query. |
Observações
Adicionar uma query que já existe é um no-op e a assinatura existente será retornada.
Find(string)
Localiza uma assinatura por nome.
Declaração
public Subscription? Find(string name)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
string | name | O nome da assinatura. |
Devoluções
Tipo | Descrição |
---|---|
inscrição | Uma instância de Assinatura em que Nome é igual a |
Encontrar<T>(IQueryable<T>)
Localiza uma assinatura por query.
Declaração
public Subscription? Find<T>(IQueryable<T> query) where T : IRealmObject
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
IQueryable<T> | Query | A query que descreve a assinatura. |
Devoluções
Tipo | Descrição |
---|---|
inscrição | Uma instância de assinatura em que a query corresponde ao |
Parâmetros de tipo
Nome | Descrição |
---|---|
t | O tipo de objetos na query. |
Remover(Inscrição)
Remove o subscription
fornecido deste conjunto de assinaturas.
Declaração
public bool Remove(Subscription subscription)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
inscrição | assinatura | A assinatura a ser removida. |
Devoluções
Tipo | Descrição |
---|---|
bool |
|
Remove(string)
Remove uma assinatura com o name
especificado.
Declaração
public bool Remove(string name)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
string | name | O nome da assinatura a ser removida. |
Devoluções
Tipo | Descrição |
---|---|
bool |
|
RemoveAll(bool)
Remove todas as assinaturas deste conjunto de assinaturas.
Declaração
public int RemoveAll(bool removeNamed = false)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
bool | removeNamed | Um sinalizador que indica se as assinaturas nomeadas também devem ser removidas. O padrão é falso. |
Devoluções
Tipo | Descrição |
---|---|
int | O número de assinaturas que existiam no conjunto e foram removidas. |
RemoveAll(string, bool)
Remove todas as assinaturas do className
fornecido.
Declaração
public int RemoveAll(string className, bool removeNamed = false)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
string | Nome da classe | O nome do tipo cujas assinaturas devem ser removidas. |
bool | removeNamed | Um sinalizador que indica se as assinaturas nomeadas também devem ser removidas. O padrão é falso. |
Devoluções
Tipo | Descrição |
---|---|
int | O número de assinaturas que existiam para este tipo e foram removidas. |
RemoveAll<T>(bool)
Remove todas as assinaturas de um tipo especificado.
Declaração
public int RemoveAll<T>(bool removeNamed = false) where T : IRealmObject
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
bool | removeNamed | Um sinalizador que indica se as assinaturas nomeadas também devem ser removidas. O padrão é falso. |
Devoluções
Tipo | Descrição |
---|---|
int | O número de assinaturas que existiam para este tipo e foram removidas. |
Parâmetros de tipo
Nome | Descrição |
---|---|
t | O tipo de objetos cujas assinaturas devem ser removidas. |
Remove<T>(IQueryable<T>, bool)
Remove uma assinatura com o query
especificado.
Declaração
public int Remove<T>(IQueryable<T> query, bool removeNamed = false) where T : IRealmObject
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
IQueryable<T> | Query | A query cuja assinatura correspondente deve ser removida. |
bool | removeNamed | Um sinalizador que indica se as assinaturas nomeadas também devem ser removidas. O padrão é falso. |
Devoluções
Tipo | Descrição |
---|---|
int |
|
Parâmetros de tipo
Nome | Descrição |
---|---|
t | O tipo de objetos nos resultados da query. |
Update(Action)
Atualize o conjunto de assinaturas e envie a solicitação para o servidor em segundo plano.
Declaração
public void Update(Action action)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
em ação | ação | Ação a executar, adicionar ou remover subscrições deste conjunto. |
Observações
Chamar Update(ação) é um pré-requisito para alterar o conjunto de assinaturas - por exemplo, chamando Add<T>(IQueryable<T>, SubscriptionOptions?), Remove(Subscription) ou RemoveAll(bool).
Chamar isso pode atualizar o conteúdo desse SubscriptionSet - por exemplo, se outro Update(ação) foi chamado em um thread em segundo plano ou se o estado foi alterado.
Se você quiser esperar que o servidor reconheça e envie de volta os dados que correspondem às assinaturas atualizadas, use StandForSynchronizationAsync(CancelationToken?).
StandForSynchronizationAsync(CancelationToken?).
Aguarde o servidor confirmar o conjunto de assinaturas e retornar os objetos correspondentes.
Declaração
public Task WaitForSynchronizationAsync(CancellationToken? cancellationToken = null)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
Token de cancelamento? | Token de cancelamento | Um token de cancelamento opcional que pode ser usado para cancelar a operação de espera. |
Devoluções
Tipo | Descrição |
---|---|
Tarefa | Uma tarefa aguardável, cuja conclusão bem-sucedida indica que o servidor processou a alteração da assinatura e enviou todos os dados que correspondem às novas assinaturas. |
Observações
Se o estado do conjunto de assinaturas for Concluído , a tarefa retornada será concluída imediatamente. Se o estado for Error, a tarefa retornada será imediatamente rejeitada com um erro.
Se a alteração resultar na remoção de objetos do Realm - por exemplo, porque as assinaturas foram removidas, esses objetos terão sido removidos antes da conclusão da tarefa retornada.