Asp Net Boilerplate - MultiTenancy,Module Zero&附加模块

时间:2018-06-10 13:27:12

标签: asp.net-core module multi-tenant aspnetboilerplate

我们开始使用AspNetBoilerplate& amp ;;模块零模板。所以我们有规范

  1. Acme.Product.Application
  2. Acme.Product.Core
  3. Acme.Product.EntityFrameworkCore
  4. Acme.Product.Migrator
  5. Acme.Product.Web.Core
  6. Acme.Product.Web.Host(w / Angular SPA)
  7. 在Asp Net Boilerplate& Module Zero文档,表示

    1. 通过使用多租户基础架构(https://aspnetboilerplate.com/Pages/Documents/Multi-Tenancy)可以开发为Saas架构。
    2. 可以创建模块化应用程序(https://aspnetboilerplate.com/Pages/Documents/Module-System)。
    3. 我们在如何为其他模块启用多租户上找不到任何关于SO的文档或问题。

      假设我们决定将域逻辑划分为单独的程序集/模块:

      1. Acme.Product.Accounting
      2. Acme.Product.HR
      3. 这两个模块都依赖于 Acme.Product.Core (启用多租户)。

        namespace Acme.Product.Accounting {
          [DependsOn(typeof(Acme.Product.Core.ProductModule))]
          public class Module : AbpModule {
        
          }
        }
        
        namespace Acme.Product.HR {
          [DependsOn(typeof(Acme.Product.Core.ProductModule))]
          public class Module : AbpModule {
        
          }
        }
        

        然后,在Acme.Product.HR模块中:

        namespace Acme.Product.HR.Domain.Models{
           public class Employee : Entity<Guid>, IMustHaveTenant {
           }
        }
        

        我们是否必须为Acme.Product.Accounting.Module&amp; Acme.Product.HR.Module以及模块配置,以便使用核心Acme.Product.Core.ProductModule中定义的多租户架构?

        Configuration.MultiTenancy.IsEnabled = true; 
        

        另外,我们还必须定义多租户实体吗?

        Configuration.Modules.Zero().EntityTypes.Tenant = typeof(Tenant);
        Configuration.Modules.Zero().EntityTypes.Role = typeof(Role);
        Configuration.Modules.Zero().EntityTypes.User = typeof(User);
        

        是否有人成功实施了这样的场景,其中附加模块可以使用多租户基础设施(动态查询,检查等)?

0 个答案:

没有答案