Olet jo luonut tietokannan Code-First-sovelluksen ajamisen jälkeen ensimmäistä kertaa, mutta mikä se on toisen aloituksen jälkeen? Luotaanko uusi tietokanta joka kerta, kun sovellus ajetaan? Entä tuotantoympäristö? Miten voin muuttaa tietokantaa, kun vaihdan verkkotunnusmallia? Näiden tilanteiden hallintaan sinun täytyy käyttää jotakin tietokannan alustuskäytännöistä.
Tietokannan alustusstrategiaa on neljä:
- CreateDatabaseIfNotExists:Tämä onlaiminlyöntiAloitusmenettely. Kuten nimikin kertoo, se luo tietokannan, jos sitä ei ole olemassa konfiguraation mukaan. Kuitenkin, jos vaihdat malliluokkaa ja sitten suoritat sovelluksen tällä alustusohjelmalla, poikkeus syntyy.
- DropCreateDatabaseIfModelChanges: Jos malliluokkasi (entiteettiluokka) on muuttunut, tämä alustuslaite poistaa olemassa olevan tietokannan ja luo uuden. Näin sinun ei tarvitse huolehtia tietokantaskeemien ylläpidosta, kun malliluokat muuttuvat.
- DropCreateDatabaseAlways: Kuten nimi kertoo, tämä alustusjärjestelmä poistaa olemassa olevan tietokannan joka kerta, kun käynnistät sovelluksesi, riippumatta siitä, onko malliluokkasi muuttunut vai ei. Tämä on hyödyllistä, kun tarvitset uuden tietokannan joka kerta kun käynnistät sovellusta, esimerkiksi sovellusta kehitettäessä.
- Mukautettu tietokannan alustaja: Voit myös luoda oman oman alustajan, jos yllä mainittu ei täytä vaatimuksiasi, tai jos haluat käyttää yllä olevaa alustusohjelmaa muiden tietokantojen alustamiseen.
Jos haluat käyttää yllä olevaa tietokantan alustusstrategiaa, sinun täytyy asettaa tietokannan alustusohjelma käyttäen luokkaa Tietokanta-kontekstiluokassa, kuten alla on esitetty:
Voit myös luoda oman tietokannan alustajan perimällä toisen alustajista, kuten alla on esitetty:
Yllä olevassa esimerkissä SchoolDBInitializer on räätälöity alustusluokka, joka on johdettu CreateDatabaseIfNotExists-menetelmästä. Tämä erottaa tietokannan alustuskoodin kontekstiluokasta.
Aseta tietokanta Initializer konfiguraatiotiedostoon
Voit myös asettaa tietokantan alustuksen konfiguraatiotiedostossa. Esimerkiksi asettaaksesi oletusarvoasetuksen app.configissa:
Voit asettaa mukautetun tietokannan alustajan seuraavasti:
Sulje tietokannan alustaja
Voit poistaa tietokannan alustajan käytöstä sovelluksessasi.Jos et halua menettää olemassa olevaa dataa tuotannossa, voit sulkea alustajan, seuraavasti:
Voit myös poistaa alustuksen pois päältä konfiguraatiotiedostossa, esimerkiksi:
|