J'ai hérité d'une base de données de taille moyenne que nous essayons d'utiliser avec Entity Framework dans une réécriture MVC2 nous sommes travaille sur. Nous avons utilisé la base de données existante pour générer le modèle de données (fichier .edmx) et tout était bon. Jusqu'à ce que je me rende compte que je ne pouvais pas utiliser la notation dot accéder à tous les champs. Lorsque j'ai regardé de plus près, j'ai pu voir que le premier cas qui fonctionnait était probablement un coup de chance. Il y a plusieurs colonnes dans le tableau pour des choses comme SupervisorID
, SecretaryID
, DogGroomerID
et ainsi, sur tous pointant vers la table Employee
et étiquetés comme des clés étrangères. On dirait que Visual Studio a presque fait ce qu'il fallait, il a juste nommé toutes ces associations après les rôles impliqués, puis les nombres attachés pour les rendre uniques. Donc, le code suivant fonctionne:Aidez-moi à donner des noms significatifs aux Entity Framework Navigation Properties, pas Utilisateur {1,2,3,4, ...}
appointment.Employee1.name // My name
appointment.Employee7.name // My Boss's Name
appointment.Employee5.name // Fluffy's groomer's name
Mais cela va à l'encontre du but recherché. Alors, qu'est-ce que j'ai fait de mal ou ce qui est mal configuré qui ferait que Visual Studio génère des noms si manifestement stupides? J'ai essayé de les changer dans l'outil de modélisation visuelle et cela a fonctionné. Renommer Employee7
à Supervisor
a eu l'effet désiré mais ce n'est pas vraiment une solution évolutive pour moi de passer les 10 prochaines heures à renommer les choses. Que faisons-nous lorsque la base de données est à nouveau lancée par le client sur le terrain et que j'ai besoin de créer un nouveau schéma?
Merci pour toute idée et aide!
-Eric
Merci, mais je ne sais pas si c'est mon problème, ou du moins je ne suis pas voir comment l'appliquer. Les classes du modèle sont générées à partir de .edmx qui est construit à partir de la base de données elle-même, seulement après qu'il y a un endroit pour attacher de telles métadonnées. Mon problème est que les propriétés de navigation obtiennent des noms de type «foo4» inutiles dans la phase de génération. (Je pense.) (J'espère vraiment que l'explication du PEBCAK viendra et sauvera la journée.) – Ukko