using Microsoft.EntityFrameworkCore; using System.Linq; namespace PersonSport.Models { public class IdrottContext : DbContext { public DbSet Personer { get; set; } public DbSet Sporter { get; set; } public DbSet Administratorer { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder options) // Azure // => options.UseSqlite("FileName=C:/Users/ChristianOhlsson(HV)/OneDrive - Högskolan Väst/skola/Databasteknik och webbaserade system [Umeå HT21]/Projektarbete/PersonSport/Data/PersonSport.db"); // Lokalt => options.UseSqlite("DataSource=./Data/PersonSport.db"); protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity() .HasKey(c => new { c.PersonId, c.SportId }); modelBuilder.Entity() .HasMany(c => c.PersonSporter); modelBuilder.Entity() .HasMany(c => c.PersonSporter); // Tar bort "ON DELETE CASCADE" så att inte sporten försvinner om sista personen // som utövar den gör det. base.OnModelCreating(modelBuilder); foreach (var relationship in modelBuilder.Model.GetEntityTypes().SelectMany(e => e.GetForeignKeys())) { relationship.DeleteBehavior = DeleteBehavior.Restrict; } } } }