Gestion des erreurs dans Entity Framework 1 : "Impossible de mettre à jour EntitySet avec DefiningQuery"
L'exception "Impossible de mettre à jour EntitySet - car il a un DefiningQuery et aucun élément L'élément se produit lors de la tentative de mise à jour d'une entité qui répond à des critères spécifiques dans Entity Framework 1. Cette erreur provient généralement de l'un des scénarios suivants :
-
Mappage à partir d'une vue de base de données. : L'ensemble d'entités est mappé à une vue de base de données, empêchant les mises à jour directes via l'entité Framework.
-
Requête de base de données personnalisée : Si vous avez créé une requête de base de données personnalisée pour remplir l'ensemble d'entités, Entity Framework ne peut pas générer automatiquement la fonctionnalité de mise à jour nécessaire.
-
Clé primaire manquante : La table de base de données sous-jacente à l'ensemble d'entités n'a pas de clé primaire, ce qui empêche Entity Framework d'identifier de manière unique les lignes à mise à jour.
Résolution du problème :
Pour résoudre cette erreur, assurez-vous que :
-
L'ensemble d'entités n'est pas mappé à une vue de base de données. Si c'est le cas, vous devrez peut-être envisager d'autres options de mise à jour data.
-
Aucune requête de base de données personnalisée n'est utilisée pour remplir l'ensemble d'entités. Si une requête personnalisée est utilisée, vous devrez peut-être implémenter manuellement la fonctionnalité de mise à jour dans votre code.
-
La table de base de données a une clé primaire définie. Si la clé primaire est manquante, assurez-vous qu'elle est ajoutée au schéma de la table et reflétée dans votre Entity Framework modèle.
Une fois le problème sous-jacent résolu, vous devrez peut-être également :
-
Mettre à jour le concepteur Entity Framework. Cela forcera la régénération de les informations de mappage, ce qui peut potentiellement résoudre le problème.
-
Supprimez et rajoutez l'entité. En supprimant l'entité puis en la rajoutant au DbContext, vous pouvez vous assurer que les informations de mappage correctes sont appliquées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!