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.
- Ændr model
- Lav en migration:
add-migration/dotnet ef migrations add <name> - 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.
- Konventioner som er automatisk ud fra navne og typer.
- Data Annotations som er attributes direkte på en entity.
- 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);