Repositories / GSConfigTool / GsConfigTool / Data / AppDbContext.cs
AppDbContext.cs 962 B
git clone https://rl-dev.de/git/gsconfigtool Raw Download
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();
        });
    }
}
24Fire Wuppertaler Tafel Romeo