2010-11-15 2 views
1

J'ai récemment mis à jour un certain nombre de tables dans la base de données pour utiliser OnDelete=Cascade, cependant, quand je suis allé mettre à jour mon fichier edmx via Update model from database j'ai remarqué que le OnDelete n'a pas été correctement mis à jour.Pourquoi Entity Framework ne met-il pas à jour correctement OnDelete dans CSDL (modèle conceptuel)?

Après un peu de recherche, je trouve le texte suivant: « pointe » de http://msdn.microsoft.com/en-us/library/bb738695.aspx

Si vous mettez à jour la base de données avec la règle de suppression en cascade puis mettre à jour le modèle existant de la base de données, l'entité Le cadre ajoutera la règle de suppression en cascade au code SSDL mais et non CSDL. Vous devrez l'ajouter manuellement à . Pour spécifier la règle de suppression en cascade dans le modèle conceptuel, sélectionnez l'association sur l'entité Surface du concepteur. Ensuite, dans la fenêtre Propriétés , sélectionnez Cascade pour la propriété OnDelete.

Ma question est pourquoi est-ce le cas? J'ai mis à jour environ 15 tables et maintenant je dois aller et trouver chaque relation et faire la même mise à jour dans le fichier edmx ... Y at-il un moyen plus efficace et plus facile?

Répondre

2

Dans un monde parfait, il devrait, mais apparemment, c'est un problème connu car ils le font dans la documentation. Creating, Adding, Modifying, and Deleting Objects

Il se trouve dans le bloc de pointes juste avant la partie Dans cette section. Par conséquent, à moins que le programmeur Designer qui l'a codé ne veuille l'expliquer, nous devons accepter le principe «travailler comme prévu».

Questions connexes