Skip to content

Entity Framework ​

Det er et ORM library til C#. Det indeholder CRUD fuktionerne, altså create, read, update, delete.

DbContext er klassen, som håndterer forbindelsen med databasen. DbSet er en samling af entities (entiteter).
Entity er en et objekt af en domæneklasse.

Navigation Property er en property, som refererer til en relateret entity eller en samling af relaterede entities, og som gør det muligt at navigere mellem relaterede objekter.

Migrations ​

Migrations er egentlig versionsstyring for databaser.

  1. Ændr model
  2. Lav en migration: add-migration / dotnet ef migrations add <name>
  3. Opdater databasen: update-database / dotnet ef database update

Inde i en migration er der to metoder

  • Up, som tilføjer kolonner
  • Down, som fjerner kolonner.

Konfiguration ​

Der er tre lag/måder som kan konfigurere EF Core-modellen.

  1. Konventioner som er automatisk ud fra navne og typer.
  2. Data Annotations som er attributes direkte på en entity.
  3. Fluent API som er en konfiguration i DbContext eller seperat klasse.

Relationer beskrives med Fluent API, eksempel:

c#
modelBuilder.Entity<Booking>()
    .HasOne<Room>(x => x.Room)
    .WithMany(x => x.Bookings)
    .HasForeignKey(x => x.RoomId);