Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 49435|Odpověď: 1

[Zdroj] EF entity typu přílohy "XXXX" selžou, protože jiné...

[Kopírovat odkaz]
Zveřejněno 12.05.2021 9:43:53 | | |
EF přidává entitu typu "XXXX", která selže, protože jiná entita stejného typu již má stejnou primární klíčovou hodnotu. Při použití metody "Připojit" nebo nastavení stavu entity na "Nezměněno" nebo "Upraveno"

Protože jiné entity stejného typu už mají stejnou primární klíčovou hodnotu. Toto chování může nastat při použití metody "Přiložit" nebo při nastavení stavu entity na "Nezměněno" nebo "Upraveno", pokud má některá entita v kresbě konfliktní klíčovou hodnotu
To může být způsobeno tím, že některé entity jsou nové a ještě neobdržely databázově generovanou klíčovou hodnotu (novou entitu), v takovém případě je graf sledován metodou "Přidat" nebo stavem entity "Added" a poté je stav nenové entity nastaven na "Nezměněno" nebo "Upraveno".
Ve skutečnosti je tato chyba v tom, že když EF otevře transakci, už existuje data se stejným primárním klíčem v kontextu EF, a osobně se s tímto problémem setkávám v různých situacích:

Situace 1:

Úprava, iterace stejných dat v tabulce (např. iterace množství zásob téže položky) by měla být poprvé, kdy není kontextová cache vymazána

Kód je následující:


Smyčka zde chybu nehlásí poprvé a podruhé chybu bude

Řešení:


Situace 2:

Operace smyčky nejprve přidá kus dat a poté data upraví

Kód je následující:


Chyby jsou také hlášeny zde, zejména u nových EF nebo nových entit

Řešení:








Předchozí:Test výkonu v Redisu v benchmarku
Další:ASP.NET Podrobné vysvětlení middleware middleware v Core (9).
Zveřejněno 22.09.2021 20:55:57 |
Uč se učit...
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com