37 lines
1.4 KiB
C#
37 lines
1.4 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace AVSCartonShipmentVerifier.ScanHistory;
|
|
|
|
public sealed class ScanHistoryDbContext(DbContextOptions<ScanHistoryDbContext> options) : DbContext(options)
|
|
{
|
|
public DbSet<ScanHistoryEntry> ScanHistoryEntries => Set<ScanHistoryEntry>();
|
|
|
|
public DbSet<RejectedScanEntry> RejectedScanEntries => Set<RejectedScanEntry>();
|
|
|
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
|
{
|
|
modelBuilder.Entity<ScanHistoryEntry>(entity =>
|
|
{
|
|
entity.ToTable("scan_history_entries");
|
|
entity.HasKey(x => x.Id);
|
|
entity.Property(x => x.ModelNumber).HasMaxLength(128);
|
|
entity.Property(x => x.UniqueNumber).HasMaxLength(128);
|
|
entity.Property(x => x.MovedToWarehouseAtUtc);
|
|
entity.Property(x => x.ProcessedAtUtc);
|
|
entity.HasIndex(x => x.ProcessedAtUtc);
|
|
});
|
|
|
|
modelBuilder.Entity<RejectedScanEntry>(entity =>
|
|
{
|
|
entity.ToTable("rejected_scan_entries");
|
|
entity.HasKey(x => x.Id);
|
|
entity.Property(x => x.RawInputValue).HasMaxLength(512);
|
|
entity.Property(x => x.ModelNumber).HasMaxLength(128);
|
|
entity.Property(x => x.UniqueNumber).HasMaxLength(128);
|
|
entity.Property(x => x.RejectionReason).HasMaxLength(256);
|
|
entity.Property(x => x.ProcessedAtUtc);
|
|
entity.HasIndex(x => x.ProcessedAtUtc);
|
|
});
|
|
}
|
|
}
|