freetubesync/FreeTubeSync/Database/DataContext.cs
Mario Steele 0144221712 Initial Commit
Inital Commit of Code base, nothing tested.
2025-07-19 04:02:09 -05:00

37 lines
No EOL
1.1 KiB
C#

using FreeTubeSync.Model;
using Microsoft.EntityFrameworkCore;
namespace FreeTubeSync.Database;
public class DataContext : DbContext
{
public DataContext(DbContextOptions<DataContext> options) : base(options)
{
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlite("Data Source=FreeTubeSync.db");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Setting>()
.ToTable("Settings")
.HasKey(s => s._id);
modelBuilder.Entity<Setting>()
.Property(s => s.ValueJson)
.HasColumnName("Value")
.IsRequired();
}
public DbSet<History> Histories { get; set; }
public DbSet<Playlist> Playlists { get; set; }
public DbSet<Profile> Profiles { get; set; }
public DbSet<SearchHistory> SearchHistories { get; set; }
public DbSet<Setting> Settings { get; set; }
public DbSet<Subscription> Subscriptions { get; set; }
public DbSet<Video> Videos { get; set; }
}