update API for more simple approach.

This commit is contained in:
programmingPug
2025-01-14 17:50:34 -05:00
parent 2de48f1fc9
commit f65ead854c
11 changed files with 130 additions and 202 deletions

View File

@@ -1,29 +0,0 @@
using Microsoft.EntityFrameworkCore;
using SoilMoistureAPI.Models;
namespace SoilMoistureAPI.Data
{
public class SoilMoistureContext : DbContext
{
public SoilMoistureContext(DbContextOptions<SoilMoistureContext> options) : base(options)
{
}
public DbSet<SoilMoisture> SoilMoistures { get; set; }
public DbSet<Device> Devices { get; set; } // New DbSet for Devices
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// Configure the primary key for Device
modelBuilder.Entity<Device>()
.HasKey(d => d.DeviceId);
// Configure one-to-many relationship
modelBuilder.Entity<Device>()
.HasMany(d => d.SoilMoistures)
.WithOne(s => s.Device)
.HasForeignKey(s => s.DeviceId)
.OnDelete(DeleteBehavior.Cascade);
}
}
}

View File

@@ -0,0 +1,35 @@
using Microsoft.EntityFrameworkCore;
using SoilMoistureAPI.Models;
namespace SoilMoistureAPI.Data
{
public class SoilMoistureFlatContext : DbContext
{
public DbSet<SoilMoistureFlat> SoilMoisturesFlat { get; set; }
public SoilMoistureFlatContext(DbContextOptions<SoilMoistureFlatContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// Optionally configure the SoilMoistureFlat entity
modelBuilder.Entity<SoilMoistureFlat>(entity =>
{
entity.HasKey(e => e.Id);
entity.Property(e => e.DeviceId)
.IsRequired();
entity.Property(e => e.MoistureLevel)
.IsRequired();
entity.Property(e => e.Nickname)
.IsRequired();
// Optionally, set default SQL for Timestamp if using SQL Server
// entity.Property(e => e.Timestamp).HasDefaultValueSql("GETUTCDATE()");
});
base.OnModelCreating(modelBuilder);
}
}
}