## 2.1 ABPZero - 多租户管理
### 2.1.1 关于多租户
强烈建议阅读这个文件前阅读[多租户](/Markdown/Abp/1.5ABP总体介绍-多租户.md)文档。
### 2.1.2 启用多租户
ASP.NET Boilerplate和module-zero可以运行多租户或单租户模式。多租户默认为禁用。我们可以在我们的模块PreInitialize方法启用它,使之如下所示:
``` csharp
[DependsOn(typeof(AbpZeroCoreModule))]
public class MyCoreModule : AbpModule
{
public override void PreInitialize()
{
Configuration.MultiTenancy.IsEnabled = true;
}
...
}
```
需要注意的是:即使我们的应用程序是不是多租户,我们必须定义一个默认的租户(见本文件的默认租户部分)。
当我们创建一个基于ASP.NET Boilerplate和module-zero的项目模板时,我们有一个租户的实体和TenantManager领域服务。
### 2.1.3 租户实体
租户实体代表应用程序的一个租户。
``` csharp
public class Tenant : AbpTenant<Tenant, User>
{
}
```
它源自泛型类AbpTenant。租户实体被存储在数据库的AbpTenants表中。您可以添加自定义属性到租户类。
AbpTenant类定义一些基本的属性,最重要的是:
+ TenancyName:这是一个租户在应用程序中的唯一名称。它通常不应该被改变。它可用于分配的子域给租户如“mytenant.mydomain.com”。
+ Tenant.TenancyNameRegex常量定义命名规则。
+ Name:租户的一个任意的,人性化可读的,长名称。
+ IsActive:True,这个租户可以使用该应用程序。如果是false,这个租户没有用户可以登录到系统。
AbpTenant类是从FullAuditedEntity继承。这意味着它具有的创建,修改和删除审计属性。这也是软删除。所以,当我们删除租客,它不是从数据库中删除,只是标记为删除。
最后,AbpTenant的Id被定义为int。
### 2.1.4 租户管理器
租客经理器是租户执行域逻辑的服务:
``` csharp
public class TenantManager : AbpTenantManager<Tenant, Role, User>
{
public TenantManager(IRepository<Tenant> tenantRepository)
: base(tenantRepository)
{
}
}
```
你可以在这里添加你自己的方法。你也可以覆盖AbpTenantManager基类的任何方法针对自己的需要。
### 2.1.5 默认租户
ASP.NET Boilerplate和module-zero假设有一个预先定义的租户,它的TenancyName是“Default”和Id是1。在一个单租户应用,这被用作为单租户。在一个多租户应用程序,你可以删除它或使其无效。
>7.1 7.2 7.4 由 深圳-KK 翻译 7.3 NoZero
- 文章&教程
- Abp
- 1.1ABP总体介绍-入门介绍
- 1.2ABP总体介绍-多层架构体系
- 1.3ABP总体介绍-模块系统
- 1.4ABP总体介绍-启动配置
- 1.5ABP总体介绍-多租户
- 1.6ABP总体介绍-集成OWIN
- 2.1ABP公共结构-依赖注入
- 2.2ABP公共结构-会话管理
- 2.3ABP公共结构-缓存管理
- 2.4ABP公共结构-日志管理
- 2.5ABP公共结构-设置管理
- 2.6ABP公共结构-时区设置
- 3.1ABP领域层-实体
- 3.2ABP领域层-值对象
- 3.3ABP领域层-仓储
- 3.4ABP领域层-领域服务
- 3.5ABP领域层-工作单元
- 3.6ABP领域层-领域事件
- 3.7ABP领域层-数据过滤器
- 4.1ABP应用层-应用服务
- 4.2ABP应用层-数据传输对象
- 4.3ABP应用层-数据传输对象验证
- 4.4ABP应用层-权限认证
- 4.5ABP应用层-功能管理
- 4.6ABP应用层-审计日志
- 5.1ABP分布式服务-ASP.NET WebApi
- 5.2ABP分布式服务-动态WebApi层
- 5.3ABP分布式服务-集成OData
- 5.4ABP分布式服务-集成SwaggerUI
- 6.1ABP表现层-Mvc控制器
- 6.2ABP表现层-Mvc视图
- 6.3ABP表现层-本地化
- 6.4ABP表现层-导航栏
- 6.5ABP表现层-异常处理
- 6.6.2-AJAX
- 6.6.3-Notification
- 6.6.4-Message
- 6.6.5-UIBlockBusy
- 6.6.6-EventBus
- 6.6.7-Logging
- 6.6.8-OtherUtilities
- 6.6ABP表现层-JavascriptAPI
- 6.7ABP表现层-嵌入资源文件
- 6.8ASP.NET-Core
- 6.9CSRF和XSRF保护
- 7.1ABP后台服务-后台作业和工人
- 7.2ABP后台服务-集成Hangfire
- 8.1ABP实时服务-通知系统
- 8.2ABP实时服务-集成SignalR
- 9.1ABP基础设施层-集成Entity Framework
- 9.2ABP基础设施层-集成NHibernate
- 9.3ABP基础设施层-集成Entity Framework Core
- abp合并版160929
- md文档排版规范
- AbpZero
- 1.1ABPZero-概述
- 1.2ABPZero-安装
- 1.3ABPZero-启动模板
- 1.4ABPZero-启动模板Core
- 2.1ABPZero-多租户管理
- 2.2ABPZero-版本管理
- 2.4ABPZero-组织单位管理