using Microsoft.EntityFrameworkCore;
using System.IO;
namespace UtopiaCanteenSystem.Data;
///
/// Factory for creating AppDbContext instances. Used by RfidService and SyncService
/// to avoid sharing a single context across async operations.
///
public class DbContextFactory : IDbContextFactory
{
private static readonly DbContextOptions Options;
static DbContextFactory()
{
var builder = new DbContextOptionsBuilder();
var dbPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "utopia_canteen.db");
builder.UseSqlite($"Data Source={dbPath}");
Options = builder.Options;
}
public AppDbContext CreateDbContext() => new AppDbContext(Options);
}