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

Näkymä: 37510|Vastaus: 1

[Lähde] Tietokannan alustusstrategia EF 6 Code-Firstissä

[Kopioi linkki]
Julkaistu 17.4.2019 15.56.46 | | |
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:








Edellinen:Kuvitettu kryptografia 3. painos
Seuraava:Piilaakson huhtikuun 2018 työllisyyskurssivideo
 Vuokraisäntä| Julkaistu 7.2.2021 15.08.59 |
Salli Entity Frameworkin käynnistyä, __MigrationHistory ei enää kelvollinen taulu
https://www.itsvse.com/thread-3255-1-1.html

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