Gyakorlat – Az SQLite-adatbázis-szolgáltató használata az EF Core használatával

Befejeződött

Eddig egy memória alapú adatbázisban mentette az adatait. Ez az adatbázis egyszerűen beállítható és használható az alkalmazás fejlesztése során, de az adatok nem állandóak. Ennek eredményeképpen az adatok elvesznek az alkalmazás újraindításakor. Az alkalmazás üzembe helyezése előtt meg kell őriznie az adatokat egy adatbázisban.

Ebben a gyakorlatban frissítenie kell az alkalmazást, hogy relációs adatbázist használjon az adatok tárolására. Az SQLite használatával fogja tárolni az adatokat.

Az SQLite-adatbázis beállítása

Töltse ki az alábbi szakaszokat az SQLite-adatbázis beállításához.

Telepítse az alábbi eszközöket és csomagokat

A terminálban telepítse a következő csomagokat:

  1. SQLite EF Core adatbázis-szolgáltató: Számos különböző adatbázishoz férhet hozzá az adatbázis-szolgáltatóknak nevezett beépülő kódtárakon keresztül. Az alábbi csomag az Entity Framework (EF) Core SQLite adatbázis-szolgáltatója.

    dotnet add package Microsoft.EntityFrameworkCore.Sqlite --version 8.0
    
  2. EF Core-eszközök: Az EF Core eszközei tervezési idejű fejlesztési feladatokat hajtanak végre. Például migrálásokat hoznak létre, migrálásokat alkalmaznak, és kódokat hoznak létre egy modellhez egy meglévő adatbázis alapján.

    dotnet tool install --global dotnet-ef
    
  3. Microsoft.EntityFrameworkCore.Design: Az EF Core összes tervezési idejű logikáját tartalmazza az adatbázis létrehozásához.

    dotnet add package Microsoft.EntityFrameworkCore.Design --version 8.0
    

Adatbázis-létrehozás engedélyezése

Az adatbázis-létrehozás engedélyezéséhez be kell állítania az adatbázis-kapcsolati sztringet. Ezután migrálja az adatmodellt egy SQLite-adatbázisba.

  1. A Program.cs alatt var builder = WebApplication.CreateBuilder(args);adjon hozzá egy kapcsolati sztringet.

    var connectionString = builder.Configuration.GetConnectionString("Pizzas") ?? "Data Source=Pizzas.db";
    

    Ez a kód egy Pizzas nevű kapcsolati sztringet keres a konfigurációszolgáltatónál. Ha nem talál egyet, Data Source=Pizzas.db fogja használni kapcsolati sztringként. Az SQLite ezt a sztringet egy fájlhoz rendeli.

  2. Az oktatóanyag CRUD részében egy memórián belüli adatbázist használt. Most a memóriában lévő adatbázist egy állandó adatbázisra fogja cserélni.

    Cserélje le a memóriabeli adatbázis jelenlegi implementációját builder.Services.AddDbContext<PizzaDb>(options => options.UseInMemoryDatabase("items")); a build szolgáltatásokban az itt található SQLite-ra.

    builder.Services.AddSqlite<PizzaDb>(connectionString);
    
  3. Az EF Core migrálási eszközével most már létrehozhatja az első migrálást, InitialCreate. Mentse az összes módosítást, majd futtassa a következő parancsot:

    dotnet ef migrations add InitialCreate
    

    Az EF Core létrehoz egy migrálási mappát a projektkönyvtárban, amely két fájlt tartalmaz az adatbázis-áttelepítéseket jelképező kóddal.

  4. Most, hogy befejezte a migrálást, használhatja az adatbázis és a séma létrehozásához.

    Egy terminálablakban futtassa a következő database update parancsot az áttelepítések adatbázisra való alkalmazásához:

    dotnet ef database update
    

    Egy újonnan létrehozott Pizzas.db fájlnak kell megjelennie a projektkönyvtárban.

Az alkalmazás futtatása és tesztelése

Most, hogy rendelkezik egy háttéradatbázissal, a módosítások megmaradnak.

Tesztelje az alkalmazást a dotnet run és a Swagger felhasználói felületének használata előtt. Állítsa le az alkalmazást a Ctrl+C paranccsal. Ezután futtassa újra, és ellenőrizze, hogy a módosítások továbbra is megmaradnak-e Pizzas.db.

Gratulálok! Te összekapcsoltál egy adatbázist a minimális API-ddal!