Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 49435|Svar: 1

[Källa] EF-enheter av tilläggstyp "XXXX" misslyckas eftersom andra...

[Kopiera länk]
Publicerad på 2021-05-12 09:43:53 | | |
EF lägger till en entitet av typen "XXXX" som misslyckas eftersom en annan entitet av samma typ redan har samma primära nyckelvärde. När man använder metoden "Attach" eller sätter entitetens tillstånd till "Oförändrat" eller "Modifierat"

Eftersom andra entiteter av samma typ redan har samma primära nyckelvärde. Detta beteende kan uppstå när man använder metoden "Attach" eller när man sätter statusen för en enhet till "Oförändrad" eller "Modifierad" om någon enhet i ritningen har ett motstridigt nyckelvärde
Detta kan bero på att vissa enheter är nya och ännu inte har fått ett databasgenererat nyckelvärde (ny entitet), i vilket fall grafen spåras med metoden "Add" eller "Added" entity-tillståndet, och sedan sätts tillståndet för den icke-nya enheten till "Oförändrad" eller "Modifierad" därefter.
Faktum är att detta fel är att när EF öppnar en transaktion finns det redan en data med samma primärnyckel i EF-sammanhanget, och jag stöter personligen på detta problem i olika situationer:

Situation 1:

Att modifiera, iterera genom samma data i en tabell (t.ex. iterera lagermängden för samma artikel), bör detta vara första gången kontextcachen inte rensas

Koden är följande:


Loopen här rapporterar inget fel första gången, och andra gången kommer den att vara fel

Lösning:


Situation 2:

Loopoperationen lägger först till en databit och modifierar sedan datan

Koden är följande:


Fel rapporteras också här, särskilt för nya EF eller nya enheter

Lösning:








Föregående:Redis Benchmark prestandatest
Nästa:ASP.NET Detaljerad förklaring av Middleware-middleware i Core (9).
Publicerad på 2021-09-22 20:55:57 |
Lär dig att lära dig...
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com