using GsConfigTool.Models;
using Microsoft.EntityFrameworkCore;
using System.IO;
namespace GsConfigTool.Data;
public class AppDbContext : DbContext
{
public DbSet<ServerProject> ServerProjects => Set<ServerProject>();
protected override void OnConfiguring(DbContextOptionsBuilder options)
{
var folder = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"GsConfigTool");
Directory.CreateDirectory(folder);
options.UseSqlite($"Data Source={Path.Combine(folder, "gsconfigtool.db")}");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<ServerProject>(e =>
{
e.HasKey(p => p.Id);
e.Property(p => p.Name).IsRequired().HasMaxLength(200);
e.Property(p => p.Description).HasMaxLength(2000);
e.Property(p => p.ConfigJson).IsRequired();
});
}
}