/// <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>()); }
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"); }
/// <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); }
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"); }
/// <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); }