diff --git a/src/AbpDesk/AbpDesk.EntityFrameworkCore/AbpDesk/EntityFrameworkCore/AbpDeskDbContext.cs b/src/AbpDesk/AbpDesk.EntityFrameworkCore/AbpDesk/EntityFrameworkCore/AbpDeskDbContext.cs index af9b2731fa..e53b60966f 100644 --- a/src/AbpDesk/AbpDesk.EntityFrameworkCore/AbpDesk/EntityFrameworkCore/AbpDeskDbContext.cs +++ b/src/AbpDesk/AbpDesk.EntityFrameworkCore/AbpDesk/EntityFrameworkCore/AbpDeskDbContext.cs @@ -16,7 +16,7 @@ namespace AbpDesk.EntityFrameworkCore public DbSet TenantConnectionStrings { get; set; } - public AbpDeskDbContext(DbContextOptions options) + public AbpDeskDbContext(DbContextOptions options) : base(options) { @@ -26,7 +26,7 @@ namespace AbpDesk.EntityFrameworkCore { base.OnModelCreating(modelBuilder); - this.ConfigureMultiTenancy(modelBuilder, MultiTenancyDbContext.TablePrefix, MultiTenancyDbContext.Schema); + modelBuilder.ConfigureMultiTenancy(MultiTenancyDbContext.TablePrefix, MultiTenancyDbContext.Schema); //Use different classes to map each entity type, as a better practice? modelBuilder.Entity(b => diff --git a/src/Volo.Abp.MultiTenancy.Domain/Volo/Abp/MultiTenancy/AbpIdentityConsts.cs b/src/Volo.Abp.MultiTenancy.Domain/Volo/Abp/MultiTenancy/AbpIdentityConsts.cs new file mode 100644 index 0000000000..fa51bb3525 --- /dev/null +++ b/src/Volo.Abp.MultiTenancy.Domain/Volo/Abp/MultiTenancy/AbpIdentityConsts.cs @@ -0,0 +1,9 @@ +namespace Volo.Abp.MultiTenancy +{ + public static class AbpMultiTenancyConsts + { + public const string DefaultDbTablePrefix = "Mt"; + + public const string DefaultDbSchema = null; + } +} diff --git a/src/Volo.Abp.MultiTenancy.EntityFrameworkCore/Volo/Abp/MultiTenancy/EntityFrameworkCore/MultiTenancyDbContext.cs b/src/Volo.Abp.MultiTenancy.EntityFrameworkCore/Volo/Abp/MultiTenancy/EntityFrameworkCore/MultiTenancyDbContext.cs index e2c1f90fd3..6c1b3cf324 100644 --- a/src/Volo.Abp.MultiTenancy.EntityFrameworkCore/Volo/Abp/MultiTenancy/EntityFrameworkCore/MultiTenancyDbContext.cs +++ b/src/Volo.Abp.MultiTenancy.EntityFrameworkCore/Volo/Abp/MultiTenancy/EntityFrameworkCore/MultiTenancyDbContext.cs @@ -5,9 +5,9 @@ namespace Volo.Abp.MultiTenancy.EntityFrameworkCore { public class MultiTenancyDbContext : AbpDbContext, IMultiTenancyDbContext { - public static string TablePrefix { get; set; } = "Mt"; + public static string TablePrefix { get; set; } = AbpMultiTenancyConsts.DefaultDbTablePrefix; - public static string Schema { get; set; } + public static string Schema { get; set; } = AbpMultiTenancyConsts.DefaultDbSchema; public DbSet Tenants { get; set; } @@ -22,7 +22,7 @@ namespace Volo.Abp.MultiTenancy.EntityFrameworkCore { base.OnModelCreating(builder); - this.ConfigureMultiTenancy(builder, TablePrefix, Schema); + builder.ConfigureMultiTenancy(TablePrefix, Schema); } } } diff --git a/src/Volo.Abp.MultiTenancy.EntityFrameworkCore/Volo/Abp/MultiTenancy/EntityFrameworkCore/MultiTenancyDbContextModelCreatingExtensions.cs b/src/Volo.Abp.MultiTenancy.EntityFrameworkCore/Volo/Abp/MultiTenancy/EntityFrameworkCore/MultiTenancyDbContextModelCreatingExtensions.cs index eb0ebbd182..330b75782a 100644 --- a/src/Volo.Abp.MultiTenancy.EntityFrameworkCore/Volo/Abp/MultiTenancy/EntityFrameworkCore/MultiTenancyDbContextModelCreatingExtensions.cs +++ b/src/Volo.Abp.MultiTenancy.EntityFrameworkCore/Volo/Abp/MultiTenancy/EntityFrameworkCore/MultiTenancyDbContextModelCreatingExtensions.cs @@ -1,4 +1,3 @@ -using System; using JetBrains.Annotations; using Microsoft.EntityFrameworkCore; @@ -6,9 +5,14 @@ namespace Volo.Abp.MultiTenancy.EntityFrameworkCore { public static class MultiTenancyDbContextModelCreatingExtensions { - public static void ConfigureMultiTenancy(this IMultiTenancyDbContext dbContext, ModelBuilder builder, string tablePrefix = "", [CanBeNull] string schema = null) + public static void ConfigureMultiTenancy( + this ModelBuilder builder, + [CanBeNull]string tablePrefix = AbpMultiTenancyConsts.DefaultDbTablePrefix, + [CanBeNull] string schema = AbpMultiTenancyConsts.DefaultDbSchema) { - if (tablePrefix.IsNullOrWhiteSpace()) + Check.NotNull(builder, nameof(builder)); + + if (tablePrefix == null) { tablePrefix = ""; } @@ -28,7 +32,7 @@ namespace Volo.Abp.MultiTenancy.EntityFrameworkCore { b.ToTable(tablePrefix + "TenantConnectionStrings", schema); - b.HasKey(x => new {x.TenantId, x.Name}); + b.HasKey(x => new { x.TenantId, x.Name }); b.Property(cs => cs.Name).IsRequired().HasMaxLength(TenantConnectionStringConsts.MaxNameLength); b.Property(cs => cs.Value).IsRequired().HasMaxLength(TenantConnectionStringConsts.MaxValueLength);