2008-09-19 9 views

Répondre

2

LINQ to SQL ne prend pas en charge la modification de la clé primaire d'une entité même sans l'utilisation de données dynamiques.

-1

Une clé primaire représente l'identité d'une entité. Il est supposé que les champs de clés primaires ne sont jamais modifiés. Votre question suggère que vous utilisez peut-être incorrectement les clés primaires.

+0

Les clés primaires peuvent être modifiées. C'est pourquoi nous avons des clés de substitution qui sont cachées aux interfaces graphiques et à d'autres tâches liées à l'utilisateur. – Henrik

2

Les clés étrangères composées ou composites ne sont pas bien prises en charge dans la version actuelle. J'ai rencontré le même problème lors de la construction d'un projet de test. Pour une relation parent-enfant avec une clé étrangère à une seule colonne, les données dynamiques m'ont permis de modifier les enregistrements de la table enfant à l'aide de listes déroulantes. Pour une relation parent-enfant avec une clé primaire composée, les données dynamiques ne m'ont permis d'éditer qu'une des clés étrangères, sans une liste déroulante. J'ai essayé Linq to SQL et Data Entities.

2

Une clé primaire doit simplement être unique, ce qui ne signifie pas nécessairement qu'elle doit être générée automatiquement. Cela ne signifie pas non plus que cela ne peut pas être changé.

Il est concevable qu'un humain puisse venir avec la clé primaire, auquel cas le champ pk a besoin d'une entrée.

Questions connexes