Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
LINQ to SQL mappe une base de données SQL Server à un modèle objet LINQ to SQL en appliquant des attributs ou à l’aide d’un fichier de mappage externe. Cette rubrique décrit l’approche basée sur les attributs.
Dans sa forme la plus élémentaire, LINQ to SQL mappe une base de données à un DataContext, une table à une classe et des colonnes et des relations aux propriétés sur ces classes. Vous pouvez également utiliser des attributs pour mapper une hiérarchie d’héritage dans votre modèle objet. Pour plus d’informations, consultez How to : Generate the Object Model in Visual Basic or C#.
Les développeurs utilisant Visual Studio effectuent généralement un mappage basé sur des attributs à l’aide du Concepteur relationnel d’objet. Vous pouvez également utiliser l’outil en ligne de commande SQLMetal, ou vous pouvez coder manuellement les attributs vous-même. Pour plus d’informations, consultez How to : Generate the Object Model in Visual Basic or C#.
Remarque
Vous pouvez également mapper à l’aide d’un fichier XML externe. Pour plus d’informations, consultez Mappage externe.
Les sections suivantes décrivent plus en détail le mappage basé sur les attributs. Pour plus d’informations, consultez le System.Data.Linq.Mapping espace de noms.
Attribut DatabaseAttribute
Utilisez cet attribut pour spécifier le nom par défaut de la base de données lorsqu’un nom n’est pas fourni par la connexion. Cet attribut est facultatif, mais si vous l’utilisez, vous devez appliquer la Name propriété, comme décrit dans le tableau suivant.
| Propriété | Catégorie | Par défaut | Descriptif |
|---|---|---|---|
| Name | Chaîne | Voir Name | Utilisé avec sa Name propriété, spécifie le nom de la base de données. |
Pour plus d’informations, consultez DatabaseAttribute.
Attribut TableAttribute
Utilisez cet attribut pour désigner une classe en tant que classe d’entité associée à une table ou vue de base de données. LINQ to SQL traite les classes qui ont cet attribut comme des classes persistantes. Le tableau suivant décrit la Name propriété.
| Propriété | Catégorie | Par défaut | Descriptif |
|---|---|---|---|
| Name | Chaîne | Même chaîne que le nom de la classe | Désigne une classe en tant que classe d’entité associée à une table de base de données. |
Pour plus d’informations, consultez TableAttribute.
Attribut ColumnAttribute
Utilisez cet attribut pour désigner un membre d’une classe d’entité pour représenter une colonne dans une table de base de données. Vous pouvez appliquer cet attribut à n’importe quel champ ou propriété.
Seuls les membres que vous identifiez en tant que colonnes sont récupérés et conservés lorsque LINQ to SQL enregistre les modifications apportées à la base de données. Les membres sans cet attribut sont supposés être non persistants et ne sont pas soumis pour les insertions ou mises à jour.
Le tableau suivant décrit les propriétés de cet attribut.
| Propriété | Catégorie | Par défaut | Descriptif |
|---|---|---|---|
| AutoSync | Synchronisation automatique | Jamais | Indique au Common Language Runtime (CLR) de récupérer la valeur après une opération d’insertion ou de mise à jour. Options : Toujours, Jamais, Lors de la mise à jour, Lors de l'insertion. |
| CanBeNull | Booléen | true |
Indique qu’une colonne peut contenir des valeurs Null. |
| DbType | Chaîne | Type de colonne de base de données déduite | Utilise des types de base de données et des modificateurs pour spécifier le type de la colonne de base de données. |
| Expression | Chaîne | Vide | Définit une colonne calculée dans une base de données. |
| IsDbGenerated | Booléen | false |
Indique qu’une colonne contient des valeurs générées automatiquement par la base de données. |
| IsDiscriminator | Booléen | false |
Indique que la colonne contient une valeur de discriminateur pour une hiérarchie d’héritage LINQ to SQL. |
| IsPrimaryKey | Booléen | false |
Spécifie que ce membre de classe représente une colonne qui est une clé primaire ou fait partie des clés primaire de la table. |
| IsVersion | Booléen | false |
Identifie le type de colonne du membre en tant qu’horodatage de base de données ou numéro de version. |
| UpdateCheck | UpdateCheck |
Always, à moins que IsVersion ait la valeur true pour un membre |
Spécifie comment LINQ to SQL aborde la détection des conflits de concurrence optimiste. |
Pour plus d’informations, consultez ColumnAttribute.
Remarque
Les valeurs des propriétés AssociationAttribute et ColumnAttribute Storage respectent la casse. Par exemple, vérifiez que les valeurs utilisées dans l’attribut de la propriété AssociationAttribute.Storage correspondent au cas des noms de propriétés correspondants utilisés ailleurs dans le code. Cela s’applique à tous les langages de programmation .NET, y compris à ceux qui ne respectent généralement pas la casse, notamment Visual Basic. Pour plus d'informations sur la propriété Storage, consultez DataAttribute.Storage.
Attribut AssociationAttribute
Utilisez cet attribut pour désigner une propriété pour représenter une association dans la base de données, telle qu’une clé étrangère à la relation de clé primaire. Pour plus d’informations sur les relations, consultez Guide pratique pour mapper des relations de base de données.
Le tableau suivant décrit les propriétés de cet attribut.
| Propriété | Catégorie | Par défaut | Descriptif |
|---|---|---|---|
| DeleteOnNull | Booléen | false |
Placé sur une association dont tous les membres de clé étrangère sont non Nullable, supprime l'objet lorsque l'association a la valeur Null. |
| DeleteRule | Chaîne | Aucun | Ajoute le comportement de suppression à une association. |
| IsForeignKey | Booléen | false |
Si la valeur est true, désigne le membre comme clé étrangère dans une association représentant une relation de base de données. |
| IsUnique | Booléen | false |
Si la valeur est true, indique une contrainte d’unicité sur la clé étrangère. |
| OtherKey | Chaîne | ID de la classe associée | Désigne un ou plusieurs membres de la classe d’entité cible comme valeurs de clé de l’autre côté de l’association. |
| ThisKey | Chaîne | ID de la classe conteneur | Désigne les membres de cette classe d’entité pour représenter les valeurs de clé de ce côté de l’association. |
Pour plus d’informations, consultez AssociationAttribute.
Remarque
Les valeurs des propriétés AssociationAttribute et ColumnAttribute Storage respectent la casse. Par exemple, vérifiez que les valeurs utilisées dans l’attribut de la propriété AssociationAttribute.Storage correspondent au cas des noms de propriétés correspondants utilisés ailleurs dans le code. Cela s’applique à tous les langages de programmation .NET, y compris à ceux qui ne respectent généralement pas la casse, notamment Visual Basic. Pour plus d'informations sur la propriété Storage, consultez DataAttribute.Storage.
Attribut InheritanceMappingAttribute
Utilisez cet attribut pour mapper une hiérarchie d’héritage.
Le tableau suivant décrit les propriétés de cet attribut.
| Propriété | Catégorie | Par défaut | Descriptif |
|---|---|---|---|
| Code | Chaîne | Aucun. La valeur doit être fournie. | Spécifie la valeur de code du discriminateur. |
| IsDefault | Booléen | false |
Si la valeur est true, instancie un objet de ce type lorsqu'aucune valeur de discriminateur du magasin ne correspond à l'une des valeurs spécifiées. |
| Type | Catégorie | Aucun. La valeur doit être fournie. | Spécifie le type de la classe dans la hiérarchie. |
Pour plus d’informations, consultez InheritanceMappingAttribute.
Attribut FunctionAttribute
Utilisez cet attribut pour désigner une méthode comme représentant une procédure stockée ou une fonction définie par l’utilisateur dans la base de données.
Le tableau suivant décrit les propriétés de cet attribut.
| Propriété | Catégorie | Par défaut | Descriptif |
|---|---|---|---|
| IsComposable | Booléen | false |
Si la valeur est « false », cela indique un mappage vers une procédure stockée. Si la valeur est true, indique le mappage à une fonction définie par l’utilisateur. |
| Name | Chaîne | Même chaîne de caractères que le nom dans la base de données | Spécifie le nom de la procédure stockée ou de la fonction définie par l’utilisateur. |
Pour plus d’informations, consultez FunctionAttribute.
Attribut ParameterAttribute
Utilisez cet attribut pour mapper les paramètres d’entrée sur les méthodes de procédure stockée.
Le tableau suivant décrit les propriétés de cet attribut.
| Propriété | Catégorie | Par défaut | Descriptif |
|---|---|---|---|
| DbType | Chaîne | Aucun | Spécifie le type de base de données. |
| Name | Chaîne | Même chaîne que le nom du paramètre dans la base de données | Spécifie un nom pour le paramètre. |
Pour plus d’informations, consultez ParameterAttribute.
Attribut ResultTypeAttribute
Utilisez cet attribut pour spécifier un type de résultat.
Le tableau suivant décrit les propriétés de cet attribut.
| Propriété | Catégorie | Par défaut | Descriptif |
|---|---|---|---|
| Type | Catégorie | (Aucun) | Utilisé sur les méthodes mappées aux procédures stockées qui retournent IMultipleResults. Déclare les mappages de type valide ou attendu pour la procédure stockée. |
Pour plus d’informations, consultez ResultTypeAttribute.
Attribut DataAttribute
Utilisez cet attribut pour spécifier des noms et des champs de stockage privé.
Le tableau suivant décrit les propriétés de cet attribut.
| Propriété | Catégorie | Par défaut | Descriptif |
|---|---|---|---|
| Name | Chaîne | Identique au nom dans la base de données | Spécifie le nom de la table, de la colonne, et ainsi de suite. |
| Storage | Chaîne | Accesseurs publics | Spécifie le nom du champ de stockage sous-jacent. |
Pour plus d’informations, consultez DataAttribute.