La correspondance d'identifiant primaire est obligatoire dans ADO.NET et ADO.NET CF. Les identifiants primaires des classes d'entité sont mis en correspondance avec les clés primaires des tables maîtres dans les sources de données. Si elle n'est pas définie, une correspondance d'identifiant primaire par défaut sera générée, mais risque de ne pas fonctionner de façon appropriée.
Les classes mises en correspondance doivent déclarer la colonne de clé primaire de la table de base de données. La plupart des classes auront également une propriété qui contient l'identifiant unique d'une instance.
Il existe trois catégories de correspondance d'identifiant primaire dans ADO.NET et ADO.NET CF :
Correspondance d'identifiant simple - Si une clé primaire est attachée à une colonne unique, seul un attribut dans l'identifiant primaire peut être mis en correspondance. Ce type de clé primaire peut être généré automatiquement. Vous pouvez définir l'incrément, l'identité, la séquence, etc., sur la colonne correspondante dans le MPD.
Correspondance d'identifiant composite - Si une clé primaire inclut plusieurs colonnes, l'identifiant primaire peut avoir plusieurs attributs mis en correspondance avec ces colonnes. Dans certains cas, la colonne de clé primaire peut également être colonne de clé étrangère. Dans l'exemple suivant, la classe Assignment a un identifiant primaire doté de trois attributs : un attribut de base, et deux attributs migrés :
Correspondance d'identifiant de composant - Pour plus de commodité, un identifiant composite peut être mis en oeuvre via une classe de type valeur séparée. L'identifiant primaire a juste un attribut ayant le type de classe. La classe séparée doit être définie comme classe de type valeur. La correspondance de classe de composant sera alors générée. Dans l'exemple ci-dessus, trois attributs liés au nom sont groupés dans une classe distincte Name. Cette classe est mise en correspondance avec la même table que la classe Person.