Partilhar via


Tipo de entidade

O tipo de entidade é o bloco de construção fundamental para descrever a estrutura de dados com o Modelo de Dados de Entidade (EDM). Em um modelo conceitual, um tipo de entidade representa a estrutura de conceitos de nível superior, como clientes ou pedidos. Um tipo de entidade é um modelo para instâncias de tipo de entidade. Cada modelo contém as seguintes informações:

  • Um nome único. (Obrigatório.)

  • Uma chave de entidade definida por uma ou mais propriedades. (Obrigatório.)

  • Dados na forma de propriedades. (Opcional.)

  • Propriedades de navegação que permitem a navegação de uma extremidade de uma associação para a outra extremidade. (Opcional)

Em um aplicativo, uma instância de um tipo de entidade representa um objeto específico (como um cliente ou pedido específico). Cada instância de um tipo de entidade deve ter uma chave de entidade exclusiva dentro de um conjunto de entidades.

Duas instâncias de tipo de entidade são consideradas iguais somente se forem do mesmo tipo e os valores de suas chaves de entidade forem os mesmos.

Exemplo

O diagrama abaixo mostra um modelo conceitual com três tipos de entidade: Book, Publishere Author:

Example model with three entity types

Observe que as propriedades de cada tipo de entidade que compõem sua chave de entidade são indicadas com "(Key)".

O ADO.NET Entity Framework usa uma linguagem específica de domínio (DSL) chamada linguagem de definição de esquema conceitual (CSDL) para definir modelos conceituais. A CSDL a seguir define o Book tipo de entidade mostrado no diagrama acima:

<EntityType Name="Book">
  <Key>
    <PropertyRef Name="ISBN" />
  </Key>
  <Property Type="String" Name="ISBN" Nullable="false" />
  <Property Type="String" Name="Title" Nullable="false" />
  <Property Type="Decimal" Name="Revision" Nullable="false" Precision="29" Scale="29" />
  <NavigationProperty Name="Publisher" Relationship="BooksModel.PublishedBy"
                      FromRole="Book" ToRole="Publisher" />
  <NavigationProperty Name="Authors" Relationship="BooksModel.WrittenBy"
                      FromRole="Book" ToRole="Author" />
</EntityType>

Consulte também