Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 27075|Svar: 0

[Källa] EF Core Series 2 kapslar in OnModelCreating, skapar index med reflektioner och mer

[Kopiera länk]
Publicerad 2020-9-22 10:57:19 | | | |
Indexering är ett vanligt koncept över flera datalagre. Även om deras implementation i en datalagring kan variera, kan de också användas för kolumnbaserade uppslagningar (eller en uppsättning kolumner) för att bli mer effektiva.

Inloggningen med hyperlänken är synlig.

Vad du bör veta:

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

C#-reflektionen får visningsnamnet för objektegenskapen
https://www.itsvse.com/thread-3219-1-1.html

I Entity Framework 6 kan du lägga till index genom att lägga till attribut i fält, men i ef core kan du inte använda attribut för att lägga till index i tabellfält, så du måste skriva om metoden OnModelCreating och skriva motsvarande regler en efter en i den.

Olika tabeller behöver skrivas i denna metod, vilket inte är lätt att underhålla och läsbarheten är för dålig, så vi skriver indexet för varje tabell i vår egen metod för att underlätta uppdateringar och sökningar.

EF-kärnan användsCode FristSchema skapar en tabellstruktur.

Skapa först ett nytt IOnModelCreate-gränssnitt, koden är följande:

Vi definierar ett objekt längst ner i klassklassen av olika tabeller och ärver gränssnittet, till exempel:

AccountSetting-kod:
EmailSentHistorySetting-kod:

I ditt eget DbContext-kontextobjekt, skriv om metoden OnModelCreateing, använd reflektionsmetoden och kör metoden OnModelCreating i sin tur för att skapa index, relationer, dataseeding osv.

OnModelCreateing-metoden är följande:



Kör kommandot Create Migration för att generera följande kod:



Upptäckt, index kan framgångsrikt skapas genom reflektionsmetoder, etc.

(Slut)





Föregående:.NET Core implementerar principen för distribuerat lås baserat på Redis
Nästa:ASP.NET Core (1) använder Redis-cachelagring
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com