tipo de entidade
O tipo de entidade é o bloco de construção fundamental para descrever a estrutura dos dados com o EDM (Modelo de Dados de Entidade). Em um modelo conceitual, um tipo de entidade representa a estrutura dos conceitos de nível superior, como clientes ou pedidos. Um tipo de entidade é um modelo para instâncias do tipo de objeto. Cada modelo contém as informações a seguir:
Um nome exclusivo. (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 até a outra extremidade. (Opcional)
Em um aplicativo, uma instância de um tipo de entidade representa um objeto específico (como um cliente ou uma ordem específica.) Cada instância de um tipo de entidade deve ter uma chave de entidade exclusiva dentro de um conjunto de entidades.
Duas instâncias do tipo de entidade são consideradas iguais somente se são do mesmo tipo e os valores das chaves de entidade são os mesmos.
Exemplo
O diagrama a seguir mostra um modelo conceitual com três tipos de entidade: Book
, Publisher
, e Author
:
Observe que as propriedades de cada tipo de entidade que compõem sua chave de entidade são denotadas com chave (“”).
O Entity Framework do ADO.NET usa uma DSL (linguagem específica de domínio) chamada CSDL (linguagem de definição de esquema conceitual) para definir modelos conceituais. CSDL seguir define o tipo de entidade de Book
mostrado no diagrama anterior:
<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>