| using System; | 
| using System.Collections.Generic; | 
| using System.ComponentModel; | 
| using System.Linq; | 
| using System.Text; | 
| using System.Threading.Tasks; | 
|   | 
| namespace WIDESEA_Core.Tenants | 
| { | 
|     /// <summary> | 
|     /// 标识 多租户 的业务表 <br/> | 
|     /// 默认设置是多库       <br/> | 
|     /// 公共表无需区分 直接使用主库 各自业务在各自库中 <br/> | 
|     /// </summary> | 
|     [AttributeUsage(AttributeTargets.Class)] | 
|     public class MultiTenantAttribute : Attribute | 
|     { | 
|         public MultiTenantAttribute() | 
|         { | 
|         } | 
|   | 
|         public MultiTenantAttribute(TenantTypeEnum tenantType) | 
|         { | 
|             TenantType = tenantType; | 
|         } | 
|   | 
|   | 
|         public TenantTypeEnum TenantType { get; set; } = TenantTypeEnum.Db; | 
|     } | 
|   | 
|     /// <summary> | 
|     /// 租户隔离方案 | 
|     /// </summary> | 
|     public enum TenantTypeEnum | 
|     { | 
|         None = 0, | 
|   | 
|         /// <summary> | 
|         /// Id隔离 | 
|         /// </summary> | 
|         [Description("Id隔离")] | 
|         Id = 1, | 
|   | 
|         /// <summary> | 
|         /// 库隔离 | 
|         /// </summary> | 
|         [Description("库隔离")] | 
|         Db = 2, | 
|   | 
|         /// <summary> | 
|         /// 表隔离 | 
|         /// </summary> | 
|         [Description("表隔离")] | 
|         Tables = 3, | 
|     } | 
| } |