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, 
 | 
    } 
 | 
} 
 |