Teknologian jakaminen

Huomautuksia: Entity Framework Core -tietokannan siirtolisäys

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Ensinnäkin tarkoitus:

Tietokannan siirto on tietokantaskeeman muutosten hallintatekniikka, jonka avulla kehittäjät voivat päivittää tietokantaskeeman turvallisesti sovelluksen elinkaaren aikana menettämättä tietoja tai tuhoamatta olemassa olevaa tietokantarakennetta. Entity Framework Coressa (EF Core) tietokannan siirto on erityisen hyödyllinen, koska se tukee Code First -kehitysmallia, jossa tietokantaskeema luodaan ja päivitetään automaattisesti koodin malliluokkien perusteella. Tässä on muutamia tärkeimpiä syitä tietokannan siirtymiseen:


1. Versionhallinta ja tiimiyhteistyö:

Tietokannan siirto mahdollistaa tietokantaskeeman muutosten versioinnin osana lähdekoodia. Tämä on tärkeää tiimiyhteistyön ja lähdekoodin hallinnan kannalta, koska se varmistaa, että kaikki kehittäjät ja käyttöönottoympäristöt käyttävät samaa tietokantaskeemaa.


2. Iteratiivinen kehitys:

Ohjelmistokehitysprosessin aikana mallit muuttuvat usein. Tietokannan siirron avulla kehittäjät voivat asteittain muokata tietokantakaaviota rakentamatta tietokantaa uudelleen tyhjästä, mikä helpottaa uusien ominaisuuksien nopeaa iterointia ja testausta.


3. Tietojen eheys:

Tietokannan siirron avulla voit muokata tietokantakaaviota säilyttäen samalla olemassa olevien tietojen eheyden. Voit esimerkiksi varmistaa, että tiedot eivät katoa, kun lisäät uusia sarakkeita, muutat tietotyyppejä tai nimeät sarakkeita uudelleen.


4. Automaattinen käyttöönotto:

Tietokannan siirto tukee automatisoituja käyttöönottoprosesseja, mikä tekee tietokantaskeemojen siirtämisestä ja synkronoinnista helppoa ja luotettavaa eri ympäristöjen, kuten kehitys-, testi- ja tuotantoympäristöjen välillä.


5. Tietoturvapäivitykset tuotantoympäristöihin:

Tietokantaskeeman muokkaaminen suoraan tuotantoympäristössä voi olla riskialtista. Tietokannan siirto tarjoaa suojatun mekanismin tuotantotietokantojen päivittämiseen ennalta määritettyjen siirtokomentosarjojen avulla, mikä vähentää suorien tietokantatoimintojen aiheuttamia riskejä.
Käyttämällä EF Coren add-migration- ja Update-Database-komentoja kehittäjät voivat helposti luoda ja ottaa käyttöön tietokantasiirtoja hallitakseen tietokantaskeeman muutoksia sovelluksen koko elinkaaren ajan.


2. Toteuttaminen

Add-migration-komento on osa Entity Framework Corea, ja sitä käytetään tietokannan siirtojen luomiseen Code First -lähestymistapaa käytettäessä. Tämä komento luo siirtotiedoston DbContext- ja entiteettiluokkien nykyisen tilan perusteella. Tämä tiedosto sisältää kaikki tietokantaskeeman päivittämiseen tarvittavat komennot.
Antamasi tiedoston sisällön perusteella olet valmis suorittamaan siirtokomennon. Voit käyttää add-migration-komentoa seuraavasti:
1. Avaa Visual Studion "Package Manager Console" (PMC).
2. Varmista, että PMC:n oletusprojektiksi on asetettu projekti, joka sisältää DbContext-luokkasi. Sinun tapauksessasi tämä projekti on H.Modules.Operation.
3. Kirjoita seuraava komento PMC:hen:

add-migration init -projekti H.Modules.Operation

Tämä komento luo siirron nimeltä init. Parametri -project määrittää projektin, joka sisältää DbContextin, mikä on hyödyllistä, jos ratkaisu sisältää useita projekteja.
Tämän komennon suorittamisen jälkeen EF Core analysoi mallisi ja nykyisen tietokannan skeeman (jos tietokanta on olemassa) ja luo sitten siirtotiedoston, joka sisältää kaikki komennot, joita tarvitaan tietokantaskeeman synkronoimiseksi mallin kanssa. Tämä siirtotiedosto lisätään projektiisi, ja voit tarkastella ja muokata tätä tiedostoa.
Kun olet suorittanut tämän vaiheen, voit käyttää Update-Database-komentoa ottaaksesi tämän siirron käyttöön ja päivittämällä siten tietokantaskeeman.

3. Perusvaiheet

Vaihe 1: Lisää seuraava koodi määrittääksesi suunnitteluajan DbContext-luonnin


julkinen luokka DataContextFactory : IDesignTimeDbContextFactory<DataContext>
    {
julkinen DataContext CreateDbContext(merkkijono[] args)
        {
var optionsBuilder = uusi DbContextOptionsBuilder<DataContext> ();
optionsBuilder.UseSqlite("Tietolähde=Migration.db");

palauttaa uuden DataContext(optionsBuilder.Options);
        }
    }


Vaihe 2: Varmista, että koko ratkaisu on luotu onnistuneesti

Vaihe 3: DbContext on sijoitettava nykyisen kokoonpanon alle

Vaihe 2: Aseta käynnistyskohteet


H.Moduulit.Toiminta

Vaihe 3: Suorita siirtokomento: luo siirtotiedosto


add-migration init -projekti H.Modules.Operation

Vaihe 4: Suorita päivitystietokantakomento: synkronoi tietokantaan


Update-Database -projekti H.Modules.Operation

Tuotantoympäristö suorittaa automaattisesti siirron ja korvaa tietokannan luontimenetelmän
db.Database.Migrate();

5. Tietokohdat, jotka sinun on tiedettävä

Code First Migration - EF6 | 

Entity Framework Core -katsaus - EF Core | 

DbContextin käyttöikä, konfigurointi ja alustus - EF Core | 

System.Windows.Controls nimitila |. Microsoft Learn

6. Lähdekoodin osoite

GitHub – HeBianGu/WPF-ControlDemo: Esimerkki

GitHub – HeBianGu/WPF-ControlBase: Wpf-kapseloitu mukautettu ohjausresurssikirjasto

GitHub - HeBianGu/WPF-Control: WPF-kevyt ohjaus- ja nylkimiskirjasto

7. Lisätietoja

System.Windows.Controls nimitila |. Microsoft Learn

https://github.com/HeBianGu

HeBianGun henkilökohtainen tila-HeBianGun henkilökohtainen kotisivu-Bilibili-video