using FinlyticTrades.Entities; using Microsoft.EntityFrameworkCore; namespace FinlyticTrades.Database; public class TradesDbContext : DbContext { public TradesDbContext(DbContextOptions options) : base(options) { } public DbSet Trades => Set(); public DbSet TradeHourlyUpdates => Set(); public DbSet Settings => Set(); protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity(entity => { entity.HasIndex(e => e.TradeId).IsUnique(); entity.HasIndex(e => e.AnalysisId); entity.HasIndex(e => e.EventId); entity.HasIndex(e => e.Status); entity.HasIndex(e => e.Sector); entity.HasIndex(e => e.Isin); entity.HasIndex(e => e.CreatedAt); }); modelBuilder.Entity(entity => { entity.HasIndex(e => e.TradeId); entity.HasIndex(e => e.Timestamp); }); } }