Élément TypeRef (CSDL)
L'élément TypeRef dans le langage CSDL (Conceptual Schema Definition Language) fournit une référence à un type nommé existant. L'élément TypeRef peut être un enfant de l'élément CollectionType, qui permet de spécifier qu'une fonction a une collection en tant que paramètre ou type de retour. Pour plus d'informations, consultez Élément Function (CSDL).
Un élément TypeRef peut avoir les éléments enfants suivants (dans l'ordre répertorié) :
Documentation (zéro ou un élément) ;
éléments d'annotation (zéro, un ou plusieurs éléments).
Attributs applicables
Le tableau ci-dessous décrit les attributs qui peuvent s'appliquer à l'élément TypeRef. Notez que les attributs DefaultValue, MaxLength, FixedLength, Precision, Scale, Unicode et Collation sont uniquement applicables à EDMSimpleTypes. Pour plus d'informations, consultez Facettes (CSDL) et Types de modèle conceptuel.
Nom d'attribut | Requis | Valeur |
---|---|---|
Type |
Non |
Nom du type référencé. |
Nullable |
Non |
True (valeur par défaut) ou False selon que la propriété peut avoir ou non une valeur NULL.
Remarque :
Dans la version du langage CSDL indiquée par l'espace de noms https://schemas.microsoft.com/ado/2006/04/edm, une propriété de type complexe doit avoir
Nullable="False" .
|
DefaultValue |
Non |
Valeur par défaut de la propriété. |
MaxLength |
Non |
Longueur maximale de la valeur de propriété. |
FixedLength |
Non |
True ou False selon que la valeur de propriété sera stockée ou non comme une chaîne de longueur fixe. |
Precision |
Non |
Précision de la valeur de propriété. |
Scale |
Non |
Échelle de la valeur de propriété. |
Unicode |
Non |
True ou False selon que la valeur de propriété sera stockée ou non comme une chaîne Unicode. |
Collation |
Non |
Chaîne qui spécifie l'ordre de classement à utiliser dans la source de données. |
Remarque : |
---|
Un nombre quelconque d'attributs d'annotation (attributs XML personnalisés) peut être appliqué à l'élément CollectionType.Toutefois, les attributs personnalisés ne peuvent pas appartenir à un espace de noms XML réservé pour le langage CSDL.Les noms qualifiés complets de deux attributs personnalisés quelconques ne peuvent pas être identiques. |
Exemple
L'exemple ci-dessous illustre une fonction définie par modèle qui utilise l'élément TypeRef (en tant qu'enfant d'un élément CollectionType) pour spécifier que la fonction accepte une collection de types d'entités Department.
<Function Name="GetAvgBudget">
<Parameter Name="Departments">
<CollectionType>
<TypeRef Type="SchoolModel.Department"/>
</CollectionType>
</Parameter>
<ReturnType Type="Collection(Edm.Decimal)"/>
<DefiningExpression>
SELECT VALUE AVG(d.Budget) FROM Departments AS d
</DefiningExpression>
</Function>
Voir aussi
Concepts
Vue d'ensemble d'Entity Framework
Spécification CSDL
Élément FunctionImport (CSDL)
Autres ressources
Spécifications CSDL, SSDL et MSL
ADO.NET Entity Data Model Tools