Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As propriedades são os blocos de construção fundamentais de tipos de entidade e tipos complexos. As propriedades definem a forma e as características dos dados que uma instância de tipo de entidade ou instância de tipo complexo conterá. As propriedades em um modelo conceitual são análogas às propriedades definidas em uma classe. Da mesma forma que as propriedades em uma classe definem a forma da classe e carregam informações sobre objetos, as propriedades em um modelo conceitual definem a forma de um tipo de entidade e carregam informações sobre instâncias de tipo de entidade.
Observação
As propriedades, conforme descrito neste tópico, são diferentes das propriedades de navegação. Para obter mais informações, consulte as propriedades de navegação.
Uma definição de propriedade contém as seguintes informações:
Um nome de propriedade. (Obrigatória)
Um tipo de propriedade. (Obrigatória)
Um conjunto de facetas. (Opcional)
Uma propriedade pode conter dados primitivos (como uma cadeia de caracteres, um inteiro ou um valor booliano) ou dados estruturados (como um tipo complexo). As propriedades que são do tipo primitivo também são chamadas de propriedades escalares. Para obter mais informações, consulte o modelo de dados da entidade: tipos de dados primitivos.
Observação
Um tipo complexo pode, por si só, ter propriedades que são tipos complexos.
Exemplo
O diagrama abaixo mostra um modelo conceitual com três tipos de entidade: Book, Publishere Author. Cada tipo de entidade tem várias propriedades, embora as informações de tipo para cada propriedade não sejam transmitidas no diagrama. As propriedades que são chaves de entidade são indicadas com (Chave).
O ADO.NET Entity Framework usa uma DSL (linguagem específica do domínio) chamada CSDL (linguagem de definição de esquema conceitual) para definir modelos conceituais. O CSDL a seguir define o Book tipo de entidade (conforme mostrado no diagrama acima) e indica o tipo e o nome de cada propriedade usando atributos XML. Uma faceta Nullableopcional também é definida usando um atributo XML.
<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>
É possível que uma das propriedades mostradas no diagrama seja uma propriedade de tipo complexo. Por exemplo, a Address propriedade no Publisher tipo de entidade pode ser uma propriedade de tipo complexo composta por várias propriedades escalares, como StreetAddress, , City, StateOrProvincee CountryPostalCode. A representação CSDL de um tipo tão complexo seria a seguinte:
<ComplexType Name="Address" >
<Property Type="String" Name="StreetAddress" Nullable="false" />
<Property Type="String" Name="City" Nullable="false" />
<Property Type="String" Name="StateOrProvince" Nullable="false" />
<Property Type="String" Name="Country" Nullable="false" />
<Property Type="String" Name="PostalCode" Nullable="false" />
</ComplexType>