Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les propriétés sont les blocs de construction fondamentaux des types d’entités et des types complexes. Les propriétés définissent la forme et les caractéristiques des données qu’une instance de type d’entité ou une instance de type complexe contiendra. Les propriétés d’un modèle conceptuel sont analogues aux propriétés définies sur une classe. De la même façon que les propriétés d’une classe définissent la forme de la classe et contiennent des informations sur les objets, les propriétés d’un modèle conceptuel définissent la forme d’un type d’entité et contiennent des informations sur les instances de type d’entité.
Remarque
Les propriétés, comme décrit dans cette rubrique, sont différentes des propriétés de navigation. Pour plus d’informations, consultez les propriétés de navigation.
Une définition de propriété contient les informations suivantes :
Nom de propriété. (Obligatoire)
Type de propriété. (Obligatoire)
Ensemble de facettes. (facultatif)
Une propriété peut contenir des données primitives (comme une chaîne, un entier ou une valeur booléenne) ou des données structurées (par exemple, un type complexe). Les propriétés de type primitif sont également appelées propriétés scalaires. Pour plus d’informations, consultez Entity Data Model : Types de données primitifs.
Remarque
Un type complexe peut, lui-même, avoir des propriétés qui sont des types complexes.
Exemple :
Le diagramme ci-dessous montre un modèle conceptuel avec trois types d’entités : Book, Publisheret Author. Chaque type d’entité a plusieurs propriétés, bien que les informations de type pour chaque propriété ne soient pas transmises dans le diagramme. Les propriétés qui sont des clés d’entité sont indiquées avec (Key).
Le ADO.NET Entity Framework utilise un langage spécifique au domaine (DSL) appelé langage de définition de schéma conceptuel (CSDL) pour définir des modèles conceptuels. Le langage CSDL suivant définit le Book type d’entité (comme illustré dans le diagramme ci-dessus) et indique le type et le nom de chaque propriété à l’aide d’attributs XML. Une facette facultative est Nullableégalement définie à l’aide d’un attribut 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>
Il est possible que l’une des propriétés affichées dans le diagramme soit une propriété de type complexe. Par exemple, la Address propriété sur le type d’entité Publisher peut être une propriété de type complexe composée de plusieurs propriétés scalaires, telles que StreetAddress, , City, StateOrProvince, Country, et PostalCode. La représentation CSDL de ce type complexe serait la suivante :
<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>