112 votes

Entity Framework - Ajouter une propriété de navigation manuellement

J'ai généré un Modèle d'Entity Framework (4.0) à partir de ma base de données. Je n'ai pas de conception de la base de données et n'ont aucun contrôle sur le schéma, mais il y a un peu de tableaux qui n'ont pas de contraintes de clés étrangères défini, mais il y a une relation implicite définie.

Par exemple:

J'ai une table a appelé le Peuple qui possède les colonnes suivantes: GenderID RaceID

Il y a des tables pour les deux le Sexe et la Race, mais il n'y a pas de clé étrangère dans la population tableau.

Lorsque j'ai importé le modèle qu'il n'a pas ajouter des Propriétés de Navigation de ces relations. J'ai essayé de l'ajouter manuellement, mais à Partir de Rôle et De fonction sont désactivées. Je ne suis pas sûr de la façon d'ajouter de la relation moi-même. Comment dois-je faire?

177voto

RPM1984 Points 39648

Oui, il n'est pas si simple.

Voici ce que vous devez faire:

1 - clic Droit sur le concepteur, Ajouter -> Association

2 - Installation de l'association et les cardinalités (Personnes *..1 le Sexe, les Gens *..1 Course)

3 - Allez dans le Modèle de Navigateur -> Associations

4 - clic Droit sur votre nouvellement créé associations, cliquez sur Propriétés

5 - Ici, vous devez configurer les paramètres de la clé et de la cascade d'options. Assurez-vous d'obtenir les paramètres corrects. Vous pouvez également définir un référentiel contrainte ici pour votre implicite de navigation de la propriété.

6 - Carte de la navigation de la propriété à la tables/champs.

7 - Valider votre modèle, de croiser les doigts.

Espérons que cette aide.

44voto

dav_i Points 6206

Je suis tombé sur ce blog qui propose la solution suivante, qui a très bien fonctionné pour moi (malheureusement je ne pourrais pas obtenir RPM1984 pour travailler dans ma situation).

  1. Ajouter une Association via le concepteur d'arrière-plan à droite, cliquez sur le menu contextuel
  2. Configurer votre Association (assurez-vous de décocher la création de la clé étrangère)
  3. Clic droit sur le lien et choisissez Propriétés
  4. Cliquez sur le ... bouton de Contrainte Référentielle
  5. Définir la relation entre les clés à l'intérieur
  6. De vérifier (à partir du concepteur de menu contextuel)
  7. ???
  8. Le Profit!

-8voto

Luponk Points 9

dans ce cas, je crée une clé dans la base de données. Si vous ne le faites pas, les problèmes persisteront car ils sont indispensables pour disposer des propriétés de navigation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X