using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Diagnostics; using PSTW_CentralSystem.Models; // Add this to use the MarineTarball class namespace PSTW_CentralSystem.DBContext { public class MMSSystemContext : DbContext { public MMSSystemContext(DbContextOptions options) : base(options) { } // DbSet for tbl_marine_tarball public DbSet MarineTarballs { get; set; } public DbSet MarineStations { get; set; } public DbSet States { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); // Map MarineTarball to tbl_marine_tarball modelBuilder.Entity().ToTable("tbl_marine_tarball"); // Configure properties if needed modelBuilder.Entity(entity => { entity.HasKey(e => e.Id); // Primary key entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.ReportID).HasColumnName("reportID").HasMaxLength(50); entity.Property(e => e.FirstSampler).HasColumnName("firstSampler").HasMaxLength(50); entity.Property(e => e.SecondSampler).HasColumnName("secondSampler").HasMaxLength(50); entity.Property(e => e.DateSample).HasColumnName("dateSample"); entity.Property(e => e.TimeSample).HasColumnName("timeSample"); entity.Property(e => e.StationID).HasColumnName("stationID").HasMaxLength(20); entity.Property(e => e.ClassifyID).HasColumnName("classifyID").HasMaxLength(20); entity.Property(e => e.Latitude).HasColumnName("latitude"); entity.Property(e => e.Longitude).HasColumnName("longitude"); entity.Property(e => e.GetLatitude).HasColumnName("getLatitude"); entity.Property(e => e.GetLongitude).HasColumnName("getLongitude"); entity.Property(e => e.Timestamp).HasColumnName("timestamp"); //Configure relationship with TarballStation entity.HasOne(m => m.MarineStation) .WithMany() .HasForeignKey(m => m.StationID) .HasPrincipalKey(t => t.StationID); }); // Map TarballStation to tbl_tarball_station modelBuilder.Entity().ToTable("tbl_marine_station"); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id); // Primary key entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.StationID).HasColumnName("stationID").HasMaxLength(20); entity.Property(e => e.StateID).HasColumnName("stateID").HasMaxLength(10); entity.Property(e => e.CategoryID).HasColumnName("categoryID").HasMaxLength(10); entity.Property(e => e.LocationName).HasColumnName("locationName").HasMaxLength(50); entity.Property(e => e.Longitude).HasColumnName("longitude").HasColumnType("decimal(10,5)"); entity.Property(e => e.Latitude).HasColumnName("latitude").HasColumnType("decimal(10,5)"); // Configure relationship with State entity.HasOne(t => t.State) .WithMany() .HasForeignKey(t => t.StateID) .HasPrincipalKey(s => s.StateID); }); // Map State to tbl_state modelBuilder.Entity().ToTable("tbl_state"); modelBuilder.Entity(entity => { entity.HasKey(e => e.Id); // Primary key entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.StateID).HasColumnName("stateID").HasMaxLength(20); entity.Property(e => e.StateName).HasColumnName("stateName").HasMaxLength(50); }); } } }