Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 27075|Odgovoriti: 0

[Vir] EF Core Series 2 kapsulira OnModelCreating, ustvarja indekse z odsevi in še več

[Kopiraj povezavo]
Objavljeno 22. 9. 2020 ob 10:57:19 | | | |
Indeksiranje je pogost koncept v več podatkovnih skladiščih. Čeprav se njihova implementacija v podatkovnem skladišču lahko razlikuje, jih je mogoče uporabiti tudi za iskanja na osnovi stolpcev (ali nabor stolpcev), da so bolj učinkoviti.

Prijava do hiperpovezave je vidna.

Kaj vedeti:

.net/c# izkorišča metodo dinamičnega izvajanja refleksije
https://www.itsvse.com/thread-4771-1-1.html

C# refleksija dobi prikazno ime lastnosti objekta
https://www.itsvse.com/thread-3219-1-1.html

V Entity Framework 6 lahko indekse dodajate z dodajanjem atributov poljem, v EF Core pa ne morete uporabiti atributov za dodajanje indeksov poljem tabel, zato morate metodo OnModelCreating prepisati in vanjo eno za drugo zapisati ustrezna pravila.

Različne tabele je treba pisati na ta način, kar ni enostavno vzdrževati in berljivost je preslaba, zato indeks vsake tabele pišemo po lastni metodi, da olajšamo posodobitve in iskanja.

Uporablja se EF jedroCode FristShema ustvari strukturo tabele.

Najprej ustvarite nov vmesnik IOnModelCreate, koda je naslednja:

Na dnu razreda različnih tabel definiramo objekt in podedujemo vmesnik, na primer:

Koda za nastavitev računa:
Koda EmailSentHistorySetting:

V svojem DbContext kontekstnem objektu prepišite metodo OnModelCreation, uporabite metodo refleksije in nato izvedite metodo OnModelCreating za ustvarjanje indeksov, odnosov, sejanja podatkov itd.

Metoda OnModelCreating je naslednja:



Izvedite ukaz Create Migration za generiranje naslednje kode:



Odkrivanje, indeksi se lahko uspešno ustvarjajo z metodami refleksije itd.

(Konec)





Prejšnji:.NET Core implementira porazdeljeno razčlenjevanje principov zaklepanja na osnovi Redis
Naslednji:ASP.NET Core (1) uporablja Redis predpomnjenje
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com