Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 49435|Répondre: 1

[Source] Les entités EF de type append « XXXX » échouent parce que d’autres...

[Copié le lien]
Publié sur 12/05/2021 09:43:53 | | |
EF ajoute une entité de type « XXXX » qui échoue parce qu’une autre entité du même type a déjà la même valeur de clé primaire. Lors de l’utilisation de la méthode « Attacher » ou de la mise en place de l’état de l’entité sur « Inchangé » ou « Modifié »

Parce que d’autres entités du même type ont déjà la même valeur de clé primaire. Ce comportement peut se produire lors de l’utilisation de la méthode « Attacher » ou lors de la mise en place du statut d’une entité sur « Inchangée » ou « Modifiée » si une entité dans le dessin possède une valeur clé conflictuelle
Cela peut s’expliquer par le fait que certaines entités sont nouvelles et n’ont pas encore reçu de valeur clé générée par la base de données (nouvelle entité), auquel cas le graphique est suivi à l’aide de la méthode « Ajouter » ou de l’état de l’entité « Ajouté », puis l’état de l’entité non nouvelle est défini en « Inchangé » ou « Modifié » en conséquence.
En fait, cette erreur est que lorsque EF ouvre une transaction, il y a déjà une donnée avec la même clé primaire dans le contexte de EF, et je rencontre personnellement ce problème dans diverses situations :

Situation 1 :

Modifier ou itérer les mêmes données dans une table (par exemple, itérer la quantité d’inventaire du même article), ce cas devrait être la première fois que le cache contextuel n’est pas effacé

Le code est le suivant :


La boucle ici ne rapporte pas d’erreur la première fois, et la seconde fois elle sera erronée

Solution:


Situation 2 :

L’opération de boucle ajoute d’abord une donnée, puis modifie les données

Le code est le suivant :


Des erreurs sont également signalées ici, notamment pour les nouveaux EF ou les nouvelles entités

Solution:








Précédent:Test de performance Redis Benchmark
Prochain:ASP.NET Explication détaillée du middleware Middleware de Core (9).
Publié sur 22/09/2021 20:55:57 |
Apprends à apprendre...
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com