Gyakorlat – Az SQLite-adatbázis-szolgáltató használata az EF Core használatával
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:
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.0EF 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-efMicrosoft.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.
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.dbfogja használni kapcsolati sztringként. Az SQLite ezt a sztringet egy fájlhoz rendeli.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);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 InitialCreateAz 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.
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 updateparancsot az áttelepítések adatbázisra való alkalmazásához:dotnet ef database updateEgy ú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!