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

Pohľad: 27075|Odpoveď: 0

[Zdroj] EF Core Series 2 zapuzdruje OnModelCreating, vytvára indexy pomocou odrazov a ďalšie

[Kopírovať odkaz]
Zverejnené 2020-9-22 10:57:19 | | | |
Indexovanie je bežný koncept naprieč viacerými dátovými úložiskami. Hoci ich implementácia v dátovom úložisku sa môže líšiť, môžu byť tiež použité na vyhľadávanie založené na stĺpcoch (alebo na súbor stĺpcov), aby boli efektívnejšie.

Prihlásenie na hypertextový odkaz je viditeľné.

Čo treba vedieť:

.NET/C# využíva metódu dynamického vykonávania reflexií
https://www.itsvse.com/thread-4771-1-1.html

C# reflexia získava zobrazovací názov vlastnosti objektu
https://www.itsvse.com/thread-3219-1-1.html

V Entity Framework 6 môžete pridávať indexy pridaním atribútov do polí, ale v ef core nemôžete použiť atribúty na pridávanie indexov do polí tabuľky, takže musíte prepísať metódu OnModelCreating a napísať príslušné pravidlá jedno po druhom.

Rôzne tabuľky je potrebné písať touto metódou, ktorá nie je jednoduchá na údržbu a jej čitateľnosť je príliš zlá, preto píšeme index každej tabuľky vlastnou metódou, aby sme uľahčili aktualizácie a vyhľadávania.

Používa sa EF CoreCode FristSchéma vytvára štruktúru tabuľky.

Najprv vytvorte nové rozhranie IOnModelCreate, kód je nasledovný:

Definujeme objekt na spodku triedy rôznych tabuliek a dedíme rozhranie, napríklad:

Kód nastavenia účtu:
EmailSentHistorySetting kód:

Vo vašom vlastnom kontextovom objekte DbContext prepíšte metódu OnModelCreating a použite metódu reflection a následne spustite metódu OnModelCreating na vytváranie indexov, vzťahov, seed dát a podobne.

Metóda OnModelCreating je nasledovná:



Spustite príkaz Create Migration a vygenerujte nasledujúci kód:



Objavovanie, indexy môžu byť úspešne vytvorené metódami reflexie a podobne.

(Koniec)





Predchádzajúci:.NET Core implementuje distribuované parsovanie princípu zámkov na základe Redis
Budúci:ASP.NET Core (1) používa Redis caching
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