sql >> Databáze >  >> RDS >> Mysql

více přidaných entit může mít stejný primární klíč na databázovém zdroji

Ve své úpravě zmiňujete „Více přidaných entit může mít stejný primární klíč“. chyba. Aniž byste znali všechny podrobnosti o tom, co zde děláte, zní to, jako byste si vytvořili vztah s entitou – z nichž jsou dvě v kontextu se stejným ID. Pravděpodobně se jedná o nové entity, které ještě nebyly uloženy, kde získávají automaticky generované ID z databáze. Pokud je vztah založen na ID, pak existuje určitá nejednoznačnost, protože Entity Framework není schopen určit, na kterou z nových entit vztah skutečně ukazuje – obě mají ID, na které vztah ukazuje.

Existují dvě možné opravy.

  1. Generujte dočasný, jedinečný identifikátor pro entity, jak jsou vytvářeny v kontextu. Entity Framework toto zruší, když se entita uloží, ale do té doby jej může používat k odlišení jedné nové entity od druhé. V minulosti jsem k tomuto účelu používal záporná celá čísla.

  2. Nevytvářejte vztahy pomocí ID, ale spíše na základě odkazů na entity. Pokud má Entity Framework přímý odkaz na entitu, pak nemusí procházet procesem identifikace entity na základě nejedinečných identifikátorů a neměl by mít tento problém.



  1. Snadný způsob generování sloupce názvu slimáka ze sloupce názvu?

  2. Znaky s diakritikou v tabulce mySQL

  3. Laravel 5 pomocí podmínky NEBO s BETWEEN

  4. Jak změnit barvu a písma v SQL Server Management Studio (SSMS) - SQL Server / TSQL výukový program, část 12