Ce problème se produit lorsque Entity Framework (EF) rencontre une tentative de définition explicite de la valeur d'une colonne d'identité dans une base de données tableau. Les colonnes d'identité sont généralement générées automatiquement par la base de données et EF gère ce processus de manière transparente par défaut.
Dans l'exemple fourni, l'erreur est générée lors de l'enregistrement d'une nouvelle entité GroupMember. La table de base de données comporte une colonne d'identité nommée Id et le fichier du concepteur EF spécifie également StoreGeneratedPattern comme identité pour cette colonne. Cependant, le code semble essayer d'insérer manuellement une valeur de 0 pour la propriété Id de l'entité.
Pour résoudre ce problème, assurez-vous que vous n'essayez pas de définir explicitement la valeur des colonnes d'identité. Au lieu de cela, comptez sur la base de données pour générer et attribuer des valeurs automatiquement.
Si nécessaire, mettez à jour votre fichier edmx pour refléter les propriétés correctes de votre table. Plus précisément, vérifiez si l'attribut IsDbGenerated est défini sur true dans le fichier de concepteur de la colonne d'identité. Si ce n'est pas le cas, ajoutez manuellement cet attribut pour indiquer que la base de données doit gérer la génération de valeur pour cette colonne.
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!