using Microsoft.EntityFrameworkCore; using Oqtane.Models; using System; namespace Oqtane.Repository { public class TenantContext : DbContext { public virtual DbSet Site { get; set; } public virtual DbSet Page { get; set; } public virtual DbSet PageModule { get; set; } public virtual DbSet Module { get; set; } public virtual DbSet User { get; set; } private readonly Tenant tenant; public TenantContext(ITenantRepository TenantRepository) { tenant = TenantRepository.GetTenant(); } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder.UseSqlServer(tenant.DBConnectionString .Replace("|DataDirectory|", AppDomain.CurrentDomain.GetData("DataDirectory").ToString()) ); base.OnConfiguring(optionsBuilder); } protected override void OnModelCreating(ModelBuilder modelBuilder) { if (tenant.DBSchema != "") { modelBuilder.HasDefaultSchema(tenant.DBSchema); } base.OnModelCreating(modelBuilder); } } }