using Microsoft.EntityFrameworkCore; using Icarus.Models; namespace Icarus.Database.Contexts; public class SongContext : DbContext { public DbSet Songs { get; set; } public SongContext(string connString) : base(new DbContextOptionsBuilder() .UseMySQL(connString).Options) { } public SongContext(DbContextOptions options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity() .ToTable("Song"); modelBuilder.Entity() .Property(s => s.Year) .IsRequired(false); modelBuilder.Entity() .Property(s => s.GenreID) .IsRequired(false); modelBuilder.Entity() .Property(s => s.ArtistID) .IsRequired(false); modelBuilder.Entity() .Property(s => s.AlbumID) .IsRequired(false); modelBuilder.Entity() .Property(s => s.CoverArtID) .IsRequired(false); } public Song RetrieveRecord(Song song) { return Songs.FirstOrDefault(sng => sng.SongID == song.SongID); } public bool DoesRecordExist(Song song) { return Songs.FirstOrDefault(sng => sng.SongID == song.SongID) != null ? true : false; } }