link github reposse

AB tundides on õpitud MS SQL Server 2022,

Code First ja Database First Migration

  1. SISSEJUHATUS
    Käesoleva kodutöö eesmärgiks on omandada praktilised oskused Entity Framework’i
    migratsioonimehhanismide kasutamisel. Uurin ja võrdlen kahte erinevat lähenemist:
  2. Code First Migration – kus andmemudel defineeritakse C# klassides ja andmebaas
    genereeritakse automaatselt
  3. Database First Migration – kus andmebaas luuakse esmalt käsitsi ja C# klassid
    genereeritakse andmebaasi struktuuri põhjal
    Projekti aluseks võtsin GitHub repositooriumist
    https://github.com/IngvarDe/DatabaseTask saadud koodipõhja, mille forkisin oma GitHub
    kontosse ja kloonisin kohalikku kausta.
  4. PROJEKTI STRUKTUUR JA ETTEVALMISTUS
    Pärast projekti avamist Visual Studio 2022’s näen järgmist struktuuri:

2.1. SQL Server’i algolukord
Enne migratsioonide alustamist kontrollin SQL Server LocalDB olukorda.

Andmebaasiserver sisaldab ainult süsteemi andmebaase (master, model, msdb, tempdb).
See kinnitab, et alustame puhtalt lehelt.

  1. CODE FIRST MIGRATION
    3.1. Andmemudeli analüüs
    Code First lähenemise puhul on andmemudel defineeritud C# klassides. Projekti
    põhimudeliks on Employee klass:

Employee mudel sisaldab järgmisi omadusi: Id, FirstName, LastName, email, dateofbirth
3.2. DbContext konfigureerimine
Andmebaasi konteksti klass määratleb ühenduse andmebaasiga:

DbContext sisaldab DbSet omadust tabeli defineerimiseks.
3.3. Connection String konfigureerimine
Seadistan connection string’i Code First migratsiooni jaoks:

Kasutatud connection string ühendab LocalDB serveriga ja loob andmebaasi nimega
“DatabaseTask_CodeFirst”.
3.4. Migration’i genereerimine
Käivitan Add-Migration käsu migration’i loomiseks:

Käsk lõi migration faili, mis defineerib andmebaasi struktuuri muudatused.
3.5. Andmebaasi uuendamine
Rakendan migration Update-Database käsuga:

Migration rakendati edukalt ja andmebaas loodi.
3.6. Migration failide kontroll
Code First migration lõi automaatselt Migrations kausta:

3.7. Code First tulemused SQL Serveris
Pärast migration’i rakendamist on SQL Serveris loodud andmebaas:

Code First migration lõi automaatselt DatabaseTask_CodeFirst andmebaasi.
3.8. Loodud tabelite kontroll
Code First migration lõi tabelid Employee mudeli põhjal:

Tabel sisaldab kõiki Employee klassi omadusi vastavaid veerge.

  1. DATABASE FIRST MIGRATION
    4.1. Vajalike failide kustutamine
    Database First lähenemise jaoks kustutan olemasolevad mudelid:

PÄRAST kustutamist:

Failid edukalt kustutatud. Nüüd saan alustada Database First lähenemisega.
4.2. SQL andmebaasi käsitsi loomine
Database First puhul loon esmalt andmebaasi käsitsi SQL skriptiga:

SQL skript loob DatabaseTask_DatabaseFirst andmebaasi koos Departments ja
Employees tabelitega.