Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 27075|Vastaus: 0

[Lähde] EF Core Series 2 kapseloi OnModelCreatingin, luo indeksejä heijastusten avulla ja paljon muuta

[Kopioi linkki]
Julkaistu 2020-9-22 10:57:19 | | | |
Indeksointi on yleinen käsite useissa tietovarastoissa. Vaikka niiden toteutus datavarastossa voi vaihdella, niitä voidaan käyttää myös sarakkepohjaisiin hakuihin (tai sarakkeisiin) tehokkaammiksi.

Hyperlinkin kirjautuminen on näkyvissä.

Mitä tietää:

.net/c# hyödyntää heijastusdynaamisen suoritusmenetelmän
https://www.itsvse.com/thread-4771-1-1.html

C# heijastus saa objektin ominaisuuden näyttönimen
https://www.itsvse.com/thread-3219-1-1.html

Entity Framework 6:ssa voit lisätä indeksejä lisäämällä attribuutteja kenttiin, mutta ef coressa et voi käyttää attribuutteja indeksien lisäämiseen taulukkokenttiin, joten sinun täytyy kirjoittaa OnModelCreating -metodi uudelleen ja kirjoittaa siihen vastaavat säännöt yksi kerrallaan.

Eri taulukot täytyy kirjoittaa tällä menetelmällä, mikä ei ole helppoa ylläpitää ja luettavuus on liian heikko, joten kirjoitamme jokaisen taulukon indeksin omalla menetelmällämme helpottaaksemme päivityksiä ja hakuja.

Käytetään EF-ydintäCode FristSkeema luo taulukkorakenteen.

Luo ensin uusi IOnModelCreate-rajapinta, jonka koodi on seuraava:

Määrittelemme objektin eri taulujen luokkaluokan alareunaan ja perimme rajapinnan, esimerkiksi:

Tilin asetuskoodi:
EmailSentHistoryAsetuskoodi:

Kirjoita omassa DbContext-kontekstiobjektissasi OnModelCreating -metodi uudelleen, käytä reflektiomenetelmää ja suorita OnModelCreating -metodi luodaksesi indeksejä, suhteita, datan siementämistä jne.

OnModelCreating -menetelmä on seuraava:



Suorita Create Migration -komento luodaksesi seuraavan koodin:



Discovery, indeksit voidaan onnistuneesti luoda reflektiomenetelmillä jne.

(Loppu)





Edellinen:.NET Core toteuttaa hajautetun lukkoperiaatteen jäsentämisen Redisin pohjalta
Seuraava:ASP.NET Core (1) käyttää Redis-välimuistia
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com