using Microsoft.EntityFrameworkCore; namespace Icarus.Database.Contexts; public class AccessLevelContext : DbContext { #region Properties public DbSet? AccessLevels { get; set; } #endregion #region Constructors public AccessLevelContext(DbContextOptions options) : base(options) { } public AccessLevelContext(string connString) : base(new DbContextOptionsBuilder() .UseMySQL(connString).Options) { if (this.AccessLevels == null) { } } #endregion #region Methods public Models.AccessLevel? GetAccessLevel(Guid songId) { var accessLevel = this.AccessLevels!.FirstOrDefault(acc => acc.SongId == songId); return accessLevel; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity().ToTable("AccessLevel"); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id); entity.Property(e => e.Id) .HasColumnType("binary(16)"); }); modelBuilder.Entity().Property(m => m.Level).IsRequired(true); } #endregion }