|
|
|
@ -2,22 +2,56 @@ |
|
|
|
using Volo.Abp.AuditLogging.EntityFrameworkCore; |
|
|
|
using Volo.Abp.BackgroundJobs.EntityFrameworkCore; |
|
|
|
using Volo.Abp.Data; |
|
|
|
using Volo.Abp.DependencyInjection; |
|
|
|
using Volo.Abp.EntityFrameworkCore; |
|
|
|
using Volo.Abp.FeatureManagement.EntityFrameworkCore; |
|
|
|
using Volo.Abp.Identity; |
|
|
|
using Volo.Abp.Identity.EntityFrameworkCore; |
|
|
|
using Volo.Abp.IdentityServer.EntityFrameworkCore; |
|
|
|
using Volo.Abp.PermissionManagement.EntityFrameworkCore; |
|
|
|
using Volo.Abp.SettingManagement.EntityFrameworkCore; |
|
|
|
using Volo.Abp.TenantManagement; |
|
|
|
using Volo.Abp.TenantManagement.EntityFrameworkCore; |
|
|
|
|
|
|
|
namespace MyCompanyName.MyProjectName.EntityFrameworkCore |
|
|
|
{ |
|
|
|
[ReplaceDbContext(typeof(IIdentityDbContext))] |
|
|
|
[ReplaceDbContext(typeof(ITenantManagementDbContext))] |
|
|
|
[ConnectionStringName("Default")] |
|
|
|
public class MyProjectNameDbContext : AbpDbContext<MyProjectNameDbContext> |
|
|
|
public class MyProjectNameDbContext : |
|
|
|
AbpDbContext<MyProjectNameDbContext>, |
|
|
|
IIdentityDbContext, |
|
|
|
ITenantManagementDbContext |
|
|
|
{ |
|
|
|
/* Add DbSet properties for your Aggregate Roots / Entities here. |
|
|
|
/* Add DbSet properties for your Aggregate Roots / Entities here. */ |
|
|
|
|
|
|
|
#region Entities from the modules
|
|
|
|
|
|
|
|
/* Notice: We only implemented IIdentityDbContext and ITenantManagementDbContext |
|
|
|
* and replaced them for this DbContext. This allows you to perform JOIN |
|
|
|
* queries for the entities of these modules over the repositories easily. You |
|
|
|
* typically don't need that for other modules. But, if you need, you can |
|
|
|
* implement the DbContext interface of the needed module and use ReplaceDbContext |
|
|
|
* attribute just like IIdentityDbContext and ITenantManagementDbContext. |
|
|
|
* |
|
|
|
* More info: Replacing a DbContext of a module ensures that the related module |
|
|
|
* uses this DbContext on runtime. Otherwise, it will use its own DbContext class. |
|
|
|
*/ |
|
|
|
|
|
|
|
//Identity
|
|
|
|
public DbSet<IdentityUser> Users { get; set; } |
|
|
|
public DbSet<IdentityRole> Roles { get; set; } |
|
|
|
public DbSet<IdentityClaimType> ClaimTypes { get; set; } |
|
|
|
public DbSet<OrganizationUnit> OrganizationUnits { get; set; } |
|
|
|
public DbSet<IdentitySecurityLog> SecurityLogs { get; set; } |
|
|
|
public DbSet<IdentityLinkUser> LinkUsers { get; set; } |
|
|
|
|
|
|
|
// Tenant Management
|
|
|
|
public DbSet<Tenant> Tenants { get; set; } |
|
|
|
public DbSet<TenantConnectionString> TenantConnectionStrings { get; set; } |
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
public MyProjectNameDbContext(DbContextOptions<MyProjectNameDbContext> options) |
|
|
|
: base(options) |
|
|
|
{ |
|
|
|
|