2013-02-14 7 views
2

J'essaie d'utiliser Entity Framework DB d'abord pour faire un prototypage rapide d'un site de reporting pour un énorme db. Le problème est que l'une des tables n'a pas de clé. J'ai une 'Erreur 159: EntityType n'a pas de clé définie'. Si j'ajoute une clé sur le concepteur de modèle, j'ai l'erreur 3024: Doit spécifier le mappage pour toutes les propriétés clés. Ma question est de savoir s'il existe un moyen de contourner cela SANS ajouter une clé à la table. La table n'est pas sous notre contrôle.EF db premier et table sans clé

Répondre

2

Grande table qui n'a pas de clé? Il ne serait pas possible pour vous ou pour le propriétaire de la table de rechercher quoi que ce soit dans cette table sans utiliser l'analyse complète de la table. En outre, il est fondamentalement impossible d'utiliser UPDATE par une ligne sans avoir de clé primaire.

Vous devez vraiment créer une clé synthétique ou demander au propriétaire de le faire. Pour contourner le problème, vous pouvez trouver une colonne existante (ou 2-3 colonnes) suffisamment unique pour pouvoir être utilisée comme clé unique. Si elle est unique mais n'a pas d'index réel créé, ce n'est toujours pas bon pour la performance - vous devriez créer un tel index.

Questions connexes