Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 27075|Svar: 0

[Kilde] EF Core Series 2 indkapsler OnModelCreating, opretter indekser ved hjælp af refleksioner og mere

[Kopier link]
Opslået den 22-9-2020 10:57:19 | | | |
Indeksering er et almindeligt koncept på tværs af flere datalagre. Selvom deres implementering i et datalager kan variere, kan de også bruges til kolonnebaserede opslag (eller et sæt kolonner) for at være mere effektive.

Hyperlink-login er synlig.

Hvad du skal vide:

.net/c# udnytter reflection dynamic execution-metoden
https://www.itsvse.com/thread-4771-1-1.html

C#-refleksionen får displaynavnet på objektegenskaben
https://www.itsvse.com/thread-3219-1-1.html

I Entity Framework 6 kan du tilføje indekser ved at tilføje attributter til felter, men i ef core kan du ikke bruge attributter til at tilføje indekser til tabelfelter, så du skal omskrive OnModelCreateing-metoden og skrive de tilsvarende regler én efter én i den.

Forskellige tabeller skal skrives i denne metode, hvilket ikke er let at vedligeholde, og læsbarheden er for dårlig, så vi skriver indekset for hver tabel i vores egen metode for at lette opdateringer og søgninger.

EF-kerne brugesCode FristSkemaet opretter en tabelstruktur.

Først opretter du et nyt IOnModelCreate-interface, koden er som følger:

Vi definerer et objekt i bunden af klasseklassen af forskellige tabeller og arver grænsefladen, for eksempel:

Kontoindstillingskode:
EmailSentHistorySetting-kode:

I dit eget DbContext-kontekstobjekt omskriver du OnModelCreateing-metoden, bruger reflection-metoden, og udfører OnModelCreateing-metoden til gengæld for at oprette indekser, relationer, dataseeding osv.

OnModelCreateing-metoden er som følger:



Udfør Create Migration-kommandoen for at generere følgende kode:



Discovery, indekser kan med succes oprettes gennem refleksionsmetoder osv.

(Slut)





Tidligere:.NET Core implementerer parsing af distribueret låseprincip baseret på Redis
Næste:ASP.NET Core (1) bruger Redis-caching
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com