Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 49435|Odpoveď: 1

[Zdroj] EF entity typu prílohy "XXXX" zlyhávajú, pretože iné...

[Kopírovať odkaz]
Zverejnené 12. 5. 2021 9:43:53 | | |
EF pridáva entitu typu "XXXX", ktorá zlyhá, pretože iná entita rovnakého typu už má rovnakú primárnu kľúčovú hodnotu. Pri použití metódy "Pripojenie" alebo nastavení stavu entity na "Nezmenené" alebo "Modifikované"

Pretože iné entity rovnakého typu už majú rovnakú primárnu kľúčovú hodnotu. Toto správanie sa môže vyskytnúť pri použití metódy "Priložiť" alebo pri nastavovaní stavu entity na "Nezmenené" alebo "Modifikované", ak má niektorá entita v kresbe konfliktnú kľúčovú hodnotu
Môže to byť spôsobené tým, že niektoré entity sú nové a ešte nedostali databázou generovanú kľúčovú hodnotu (novú entitu), v takom prípade sa graf sleduje metódou "Pridať" alebo stavom entity "Pridané" a potom sa stav nenovej entity nastaví na "Nezmenený" alebo "Upravený" podľa potreby.
V skutočnosti je táto chyba v tom, že keď EF otvorí transakciu, už existujú dáta s rovnakým primárnym kľúčom v kontexte EF, a osobne sa s týmto problémom stretávam v rôznych situáciách:

Situácia 1:

Úpravou, iteráciou rovnakých dát v tabuľke (napr. iterovaním množstva zásob tej istej položky) by mal byť tento prípad prvýkrát, keď sa kontextová cache nevyčistí

Kód je nasledovný:


Slučka tu nehlási chybu prvýkrát a druhýkrát bude chybou

Riešenie:


Situácia 2:

Operácia slučky najprv pridá kus dát a potom ho modifikuje

Kód je nasledovný:


Chyby sa hlásia aj tu, najmä pri nových EF alebo nových entitách

Riešenie:








Predchádzajúci:Výkonnostný test Redis Benchmark
Budúci:ASP.NET Podrobné vysvetlenie middleware middleware v Core (9).
Zverejnené 22. 9. 2021 20:55:57 |
Nauč sa učiť...
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com