Utworzenie kontekstu bazy danych

Jako że moja aplikacja będzie operowała na bazie danych z wykorzystaniem Entity Framework Core, na początek utworzę kontekst bazy danych i testową klasę.
Tworzę nowy projekt z szablonu Class Library (Package) i nazywam go WPM.DataAccessMsSql. Z nugeta instaluję EntityFramework.Core.

Dodaję do nowego projektu folder Entities, który będzie zawierał wszystkie modele. W tym katalogu tworzę pierwszą klasę WPMCredentials.cs, reprezentującą zapisane w bazie poświadczenia.

public class WPMCredential
{
   [Key]
   public int Id { get; set; }
   public string Login { get; set; }
   public string Password { get; set; }
   public string Name { get; set; }
   public string Url { get; set; }
   public string LoginUrl { get; set; }
   public string Description { get; set; }
}

Atrybut Key w 3 linijce oznacza że właściwość Id będzie kluczem głównym przyszłej tabelki. Dla rozróżnienia od klas Credential będących m.in. w użyciu w przestrzeni nazw System.Net dodaję prefix WPM.

Teraz czas na dodanie w głównym katalogu projektu klasy kontekstu MsSqlContext.cs:

public class MsSqlContext : DbContext
{
   public DbSet<WPMCredential> Credentials { get; set; }
}

Klasa musi dziedziczyć po DbContext  aby realizować różne funkcje związane z bazą. Teraz wystarczy gdzieś w programie utworzyć nową instancję kontekstu, i teoretycznie można już działać na bazie.

MsSqlContext context = new MsSqlContext();
WPMCredentials cred = context.Credentials.FirstOrDefault();

I to tyle… na początek. Rzecz jasna kontekst nie wie jak się podłączyć do bazy, ani gdzie jest ta baza (w naszym przypadku program będzie szukał connection stringa o nazwie takiej samej jak nasza klasa z kontekstem czyli MsSqlContext, który jednak nigdzie nie jest zdefiniowany), ale przy następnym wpisie, który będzie o migracjach, pokażę jak ją o tym poinformować.

2 thoughts on “Utworzenie kontekstu bazy danych

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *