Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 49435|Odgovoriti: 1

[Vir] EF Entitete tipa dodatka "XXXX" ne uspejo, ker druge...

[Kopiraj povezavo]
Objavljeno na 12. 05. 2021 09:43:53 | | |
EF doda entiteto tipa "XXXX", ki ne uspe, ker ima druga entiteta istega tipa že enako vrednost primarnega ključa. Ko uporabljate metodo »Priloži« ali nastavite stanje entitete na »Nespremenjeno« ali »Spremenjeno«

Ker imajo druge entitete iste vrste že enako primarno vrednost ključa. To vedenje se lahko pojavi pri uporabi metode "Attach" ali pri nastavitvi statusa entitete na "Nespremenjeno" ali "Spremenjeno", če ima katera koli entiteta v risbi konfliktno vrednost ključa
To je lahko zato, ker so nekatere entitete nove in še niso prejele ključne vrednosti, ustvarjene v bazi podatkov (nova entiteta), v tem primeru se graf spremlja z metodo »Dodaj« ali s stanjem »Dodano«, nato pa se stanje ne-nove entitete nastavi na »Nespremenjeno« ali »Spremenjeno« ustrezno.
Pravzaprav je ta napaka v tem, da ko EF odpre transakcijo, je v kontekstu EF že podatek z enakim primarnim ključem, in osebno se s tem problemom srečujem v različnih situacijah:

Situacija 1:

Spreminjanje, iteracija skozi iste podatke v tabeli (npr. iteracija zaloge istega predmeta) bi morala biti prva izbira kontekstnega predpomnilnika

Koda je naslednja:


Zanka tukaj prvič ne poroča o napaki, drugič pa bo napaka

Rešitev:


Situacija 2:

Operacija zanke najprej doda določen podatek, nato pa podatke spremeni

Koda je naslednja:


Napake so prav tako prijavljene tukaj, zlasti za nove EF-je ali nove entitete

Rešitev:








Prejšnji:Test zmogljivosti Redis Benchmark
Naslednji:ASP.NET Podrobna razlaga middleware vmesne programske opreme Core (9).
Objavljeno na 22. 09. 2021 20:55:57 |
Nauči se učiti...
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com