using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using TaskScheduler = OrdersManagementDataModel.Entities.TaskScheduler; namespace OrdersManagementDataModel; public class OrdersManagementDbContext : DbContext { public OrdersManagementDbContext(DbContextOptions options) : base(options) { } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { var configuration = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json") .Build(); var connectionString = configuration.GetConnectionString("OrdersManagementConnection"); optionsBuilder.UseSqlServer(connectionString, options => options.CommandTimeout(300)); } public DbSet TaskSchedulers { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity(entity => { entity.HasKey(e => e.Id); entity.ToTable("TaskScheduler"); entity.Property(e => e.RowPointer).HasDefaultValueSql("newid()"); entity.Property(e => e.CreateDate).HasDefaultValueSql("getdate()"); entity.Property(e => e.ActiveFrom).HasDefaultValueSql("getdate()"); entity.Property(e => e.ActiveUntil).IsRequired(false); }); } }