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> ConfigForDomainTreeEntityBase <TKey, TEntity, TIdentityKey>(this EntityTypeBuilder <TEntity> builder)
            where TKey : struct, IEquatable <TKey>
            where TEntity : DomainTreeEntityBase <TKey, TEntity>
            where TIdentityKey : struct, IEquatable <TIdentityKey>
        {
            builder.ConfigForDomainTreeEntityBase <TKey, TEntity>();

            return(builder);
        }
Exemple #2
0
 public static void ConfigOrganization <TOrganization, TUser, TKey>(
     this EntityTypeBuilder <TOrganization> builder)
     where TOrganization : Organization <TKey, TOrganization, TUser>
     where TKey : struct, IEquatable <TKey>
     where TUser : class, IEntity <TKey>
 {
     builder.ConfigForDomainTreeEntityBase <TKey, TOrganization, TKey, TUser>();
     builder.HasMany(e => e.UserOrganizations)
     .WithOne(e => e.Organization)
     .HasForeignKey(e => e.OrganizationId);
     builder.ToTable("AppOrganizations");
 }
Exemple #3
0
        /// <summary>
        /// 配置树形领域实体
        /// 包括创建时间、上次修改时间、软删除过滤器、乐观并发检查、自关联导航属性和外键、
        /// 创建人导航属性和外键、上次修改人导航属性和外键
        /// </summary>
        /// <typeparam name="TKey">主键类型</typeparam>
        /// <typeparam name="TEntity">树形实体类型</typeparam>
        /// <typeparam name="TIdentityKey">身份实体主键类型</typeparam>
        /// <typeparam name="TIdentityUser">身份实体类型</typeparam>
        /// <param name="builder">实体类型构造器</param>
        /// <returns>实体类型构造器</returns>
        public static EntityTypeBuilder <TEntity> ConfigForDomainTreeEntityBase <TKey, TEntity, TIdentityKey, TIdentityUser>(this EntityTypeBuilder <TEntity> builder)
            where TKey : struct, IEquatable <TKey>
            where TEntity : DomainTreeEntityBase <TKey, TEntity, TIdentityKey, TIdentityUser>
            where TIdentityUser : class, IEntity <TIdentityKey>
            where TIdentityKey : struct, IEquatable <TIdentityKey>
        {
            builder.ConfigForDomainTreeEntityBase <TKey, TEntity, TIdentityKey>();
            builder.ConfigForICreatorRecordable <TEntity, TIdentityUser, TIdentityKey>();
            builder.ConfigForILastModifierRecordable <TEntity, TIdentityUser, TIdentityKey>();

            return(builder);
        }