Exemple #1
0
 /// <summary>
 /// 配置领域实体
 /// 包括创建时间、上次修改时间、软删除过滤器、乐观并发检查、
 /// 创建人导航属性和外键、上次修改人导航属性和外键
 /// </summary>
 /// <typeparam name="TKey">主键类型</typeparam>
 /// <typeparam name="TEntity">实体类型</typeparam>
 /// <typeparam name="TIdentityKey">身份主键类型</typeparam>
 /// <param name="builder">实体类型构造器</param>
 /// <returns>实体类型构造器</returns>
 public static EntityTypeBuilder <TEntity> ConfigForDomainEntityBase <TKey, TEntity, TIdentityKey>(
     this EntityTypeBuilder <TEntity> builder)
     where TKey : struct, IEquatable <TKey>
     where TEntity : DomainEntityBase <TKey, TIdentityKey>
     where TIdentityKey : struct, IEquatable <TIdentityKey>
 {
     return(builder.ConfigForDomainEntityBase <TKey, TEntity>());
 }
Exemple #2
0
 public static void ConfigPermissionDefinition <TPermissionDefinition, TKey, TIdentityKey>(
     this EntityTypeBuilder <TPermissionDefinition> builder)
     where TKey : struct, IEquatable <TKey>
     where TIdentityKey : struct, IEquatable <TIdentityKey>
     where TPermissionDefinition : PermissionDefinition <TKey, TIdentityKey>
 {
     builder.ConfigForDomainEntityBase <TKey, TPermissionDefinition>();
     builder.ToTable("PermissionDefinitions");
 }
Exemple #3
0
        /// <summary>
        /// 配置树形领域实体
        /// 包括创建时间、上次修改时间、软删除过滤器、乐观并发检查、自关联导航属性和外键
        /// </summary>
        /// <typeparam name="TKey">主键类型</typeparam>
        /// <typeparam name="TEntity">树形实体类型</typeparam>
        /// <param name="builder">实体类型构造器</param>
        /// <returns>实体类型构造器</returns>
        public static EntityTypeBuilder <TEntity> ConfigForDomainTreeEntityBase <TKey, TEntity>(this EntityTypeBuilder <TEntity> builder)
            where TKey : struct, IEquatable <TKey>
            where TEntity : DomainTreeEntityBase <TKey, TEntity>
        {
            builder.ConfigForDomainEntityBase <TKey, TEntity>();
            builder.ConfigParentForIDomainTreeEntity <TKey, TEntity>();

            return(builder);
        }
Exemple #4
0
 public static void ConfigAuthorizationRule <TAuthorizationRule, TKey, TIdentityKey>(
     this EntityTypeBuilder <TAuthorizationRule> builder)
     where TAuthorizationRule : AuthorizationRule <TKey, TIdentityKey>
     where TKey : struct, IEquatable <TKey>
     where TIdentityKey : struct, IEquatable <TIdentityKey>
 {
     builder.ConfigForDomainEntityBase <TKey, TAuthorizationRule, TIdentityKey>();
     builder.HasMany(e => e.RequestAuthorizationRules)
     .WithOne()
     .HasForeignKey(e => e.AuthorizationRuleId);
     builder.ToTable("AppAuthorizationRules");
 }
Exemple #5
0
        /// <summary>
        /// 配置领域实体
        /// 包括创建时间、上次修改时间、软删除过滤器、乐观并发检查、
        /// 创建人导航属性和外键、上次修改人导航属性和外键
        /// </summary>
        /// <typeparam name="TKey">主键类型</typeparam>
        /// <typeparam name="TEntity">实体类型</typeparam>
        /// <typeparam name="TIdentityUser">身份实体类型</typeparam>
        /// <typeparam name="TIdentityKey">身份实体主键类型</typeparam>
        /// <param name="builder">实体类型构造器</param>
        /// <returns>实体类型构造器</returns>
        public static EntityTypeBuilder <TEntity> ConfigForDomainEntityBase <TKey, TEntity, TIdentityUser, TIdentityKey>(
            this EntityTypeBuilder <TEntity> builder)
            where TKey : struct, IEquatable <TKey>
            where TEntity : DomainEntityBase <TKey, TIdentityKey, TIdentityUser>
            where TIdentityUser : class, IEntity <TIdentityKey>
            where TIdentityKey : struct, IEquatable <TIdentityKey>
        {
            builder.ConfigForDomainEntityBase <TKey, TEntity>();
            builder.ConfigForICreatorRecordable <TEntity, TIdentityUser, TIdentityKey>();
            builder.ConfigForILastModifierRecordable <TEntity, TIdentityUser, TIdentityKey>();

            return(builder);
        }