#if NET48 using System.Data.Entity; using System.Data.Common; #else using Microsoft.EntityFrameworkCore; #endif using ECMJobRunner.Domain.Entities; namespace ECMJobRunner.Infrastructure.Data { /// /// Entity Framework DbContext for ECM Job Runner /// public class JobRunnerDbContext : DbContext { /// /// Profile entities /// public DbSet CfgProfiles { get; set; } = null!; /// /// ProfileSqlJob entities /// public DbSet ProfileSqlJobs { get; set; } = null!; /// /// ProfileHistory entities /// public DbSet ProfileHistories { get; set; } = null!; #if NET48 /// /// Default constructor for Entity Framework 6 (.NET Framework 4.8) /// public JobRunnerDbContext() : base("name=JobRunnerConnection") { } /// /// Constructor with connection string for Entity Framework 6 /// public JobRunnerDbContext(string connectionString) : base(connectionString) { } /// /// Constructor with DbConnection for Entity Framework 6 (used for InMemory testing with Effort) /// public JobRunnerDbContext(DbConnection connection) : base(connection, contextOwnsConnection: true) { } #else /// /// Constructor for Entity Framework Core (.NET 8) /// public JobRunnerDbContext(DbContextOptions options) : base(options) { } #endif } }