Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/ /

Modelos e esquemas de objetos - .NET SDK

Nesta página

  • Tipos e esquemas de objetos
  • Schemas
  • Trabalhando com objetos de domínio

Os aplicativos Realm modelam os dados como objetos compostos de pares propriedade-valor, cada um contendo um ou mais tipos de dados primitivos ou outros objetos Realm . Os objetos de Realm são essencialmente os mesmos que os objetos regulares, mas herdam de RealmObject ou EmbeddedObject e incluem funcionalidades adicionais, como exibições de dados de atualização em tempo real e manipuladores de evento de alteração reativos.

Cada objeto do Realm tem um tipo de objeto que se refere à classe do objeto. Objetos do mesmo tipo compartilham um esquema de objeto que define as propriedades e relacionamentos desses objetos.

Em C#, você normalmente define esquemas de objetos usando as declarações de classe C#. Quando o Realm é inicializado, ele descobre os objetos do Realm definidos em todos os conjuntos que foram carregados e gera esquemas adequadamente. Essa é a abordagem mais simples para definir um esquema e, geralmente, é a menos propensa a erros. No entanto, essa abordagem inclui todos os objetos de Realm carregados e pode haver casos em que você só deseja usar um subconjunto de classes ou personalizar esquemas de objetos de Realm. Para fazer isso, você pode definir um esquema programaticamente.

Observação

O .NET não carrega um assembly até que você faça referência a uma classe nele, portanto, se você definir seus modelos de objeto em um assembly e instanciar o Realm em outro, certifique-se de chamar um método no assembly que contém os modelos de objeto antes da inicialização. Caso contrário, o Realm não descobrirá os objetos quando carregar pela primeira vez.

O seguinte bloco de código mostra um esquema de objeto que descreve um objeto Dog. Cada objeto Dog deve incluir um Name e, opcionalmente, pode incluir Age, Breed do cachorro e uma lista de pessoas que representa os Owners do cachorro.

public partial class Dog : IRealmObject
{
[PrimaryKey]
[MapTo("_id")]
public ObjectId Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string Breed { get; set; }
public IList<Person> Owners { get; }
}
public partial class Person : IRealmObject
{
[PrimaryKey]
[MapTo("_id")]
public ObjectId Id { get; set; }
public string Name { get; set; }
// etc...
/* To add items to the IList<T>:
var dog = new Dog();
var caleb = new Person { Name = "Caleb" };
dog.Owners.Add(caleb);
*/
}

Observação

Para definir uma coleção de objetos dentro de um objeto, use um IList<T> com apenas uma getter. Você não precisa inicializá-lo no construtor, pois o domínio gerará uma instância de coleta na primeira vez que a propriedade for acessada.

Observação

Outros exemplos

A seção CRUD - .NET SDK fornece exemplos de criação, leitura, atualização, filtragem e exclusão de objetos do Realm.

Voltar

Definir um modelo de objeto