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: 27075|Odpověď: 0

[Zdroj] EF Core Series 2 zapouzdřuje OnModelCreating, vytváří indexy pomocí odrazů a další

[Kopírovat odkaz]
Zveřejněno 22. 9. 2020 10:57:19 | | | |
Indexování je běžný koncept napříč více datovými úložišti. Ačkoliv se jejich implementace v datovém úložišti může lišit, lze je také použít pro vyhledávání podle sloupců (nebo sadu sloupců), aby byly efektivnější.

Přihlášení k hypertextovému odkazu je viditelné.

Co vědět:

.NET/C# využívá metodu dynamického vykonávání reflexe
https://www.itsvse.com/thread-4771-1-1.html

C# reflexe získává zobrazovací název vlastnosti objektu
https://www.itsvse.com/thread-3219-1-1.html

V Entity Framework 6 můžete indexy přidávat přidáním atributů do polí, ale v EF Core nemůžete použít atributy k přidávání indexů do tabulových polí, takže musíte přepsat metodu OnModelCreating a psát odpovídající pravidla jedno po druhém.

Různé tabulky je třeba psát touto metodou, což není snadné udržovat a čitelnost je příliš špatná, proto zapisujeme index každé tabulky vlastní metodou, abychom usnadnili aktualizace a vyhledávání.

Používá se EF CoreCode FristSchéma vytváří tabulkovou strukturu.

Nejprve vytvořte nové rozhraní IOnModelCreate, kód je následující:

Definujeme objekt na spodní části třídy různých tabulek a zdědíme rozhraní, například:

Kód nastavení účtu:
Kód EmailSentHistorySetting:

Ve svém vlastním kontextovém objektu DbContext přepište metodu OnModelCreating a použijte metodu reflection a postupně spusněte metodu OnModelCreating pro vytváření indexů, vztahů, datového seedování atd.

Metoda OnModelCreating je následující:



Spustěte příkaz Create Migration a vygenerujte následující kód:



Objevování, indexy lze úspěšně vytvářet pomocí reflexních metod atd.

(Konec)





Předchozí:.NET Core implementuje distribuované parsování principů zámků založené na Redisu
Další:ASP.NET Core (1) používá Redis caching
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