#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
}
}