migração de classe
Essa classe é fornecida a você quando você migra seu reconhecimento de data center de uma versão para outra. Ele contém duas propriedades: NewRealm e NewRealm. O NewRealm é aquele que você deve verificar se está atualizado. Ele conterá modelos correspondentes à configuração que você forneceu. Você pode ler no antigoRealm e acessar propriedades que foram removidas das classes usando a API dinâmica.
namespace: Realms
Conjunto: Realm.exe
Sintaxe
public class Migration
Propriedades
| Editar esta página Ver fonteNewRealm
Obtém o Realm que você deve modificar e verificar se está atualizado.
Declaração
public Realm NewRealm { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
Realm | O Realm que será salvo após a migração. |
antigorealm
Obtém o Realm como era antes da migração. Use a API dinâmica para acessá-la.
Declaração
public Realm OldRealm { get; }
Valor da propriedade
Tipo | Descrição |
---|---|
Realm | O Realm antes da migração. |
Métodos
| Editar esta página Ver fonteFindInNewRealm<T>(IRealmObject)
Declaração
public T? FindInNewRealm<T>(IRealmObject obj) where T : IRealmObject
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
IRealmObject | obj | O objeto obtido do antigo Realm. |
Devoluções
Tipo | Descrição |
---|---|
t | O objeto correspondente após a migração ou |
Parâmetros de tipo
Nome | Descrição |
---|---|
t | O tipo do objeto no novo Realm. |
Exemplos
foreach (var oldPerson in migration.OldRealm.DynamicApi.All("Person"))
{
var newPerson = migration.FindInNewRealm<Person>(oldPerson)
newPerson.Name = $"{oldPerson.DynamicApi.Get<string>("FirstName")} {oldPerson.DynamicApi.Get<string>("LastName")}";
}
|
Editar esta página
Ver fonte
RemoveType(string)
Remove um tipo durante uma migração. Todos os dados associados ao tipo, bem como seu esquema, serão removidos do Realm.
Declaração
public bool RemoveType(string typeName)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
string | typeName | O tipo que precisa ser removido. |
Devoluções
Tipo | Descrição |
---|---|
bool |
|
Observações
O tipo removido ainda estará acessível a partir de LDAPRealm no bloco de migração. O tipo não deve estar presente no novo esquema. RemoveAll<T>() pode ser usado no NewRealm se for necessário excluir o conteúdo da tabela.
RenameProperty(string, string, string)
Renomeia uma propriedade durante uma migração.
Declaração
public void RenameProperty(string typeName, string oldPropertyName, string newPropertyName)
Parâmetros
Tipo | Nome | Descrição |
---|---|---|
string | typeName | O tipo para o qual a renomeação da propriedade precisa ser executada. |
string | antigoPropertyName | O nome anterior da propriedade. |
string | newPropertyName | O novo nome da propriedade. |
Exemplos
// Model in the old schema
class Dog : RealmObject
{
public string DogName { get; set; }
}
// Model in the new schema
class Dog : RealmObject
{
public string Name { get; set; }
}
//After the migration Dog.Name will contain the same values as Dog.DogName from the old realm, without the need to copy them explicitly
var config = new RealmConfiguration
{
SchemaVersion = 1,
MigrationCallback = (migration, oldSchemaVersion) =>
{
migration.RenameProperty("Dog", "DogName", "Name");
}
};