Exemple #1
0
 /// <summary>
 /// 配置多对多导航实体
 /// 包括创建时间、创建人导航和外键
 /// </summary>
 /// <typeparam name="TEntity">实体类型</typeparam>
 /// <typeparam name="TIdentityKey">身份主键类型</typeparam>
 /// <typeparam name="TIdentityUser">身份类型</typeparam>
 /// <param name="builder">实体类型构造器</param>
 /// <returns>实体类型构造器</returns>
 public static EntityTypeBuilder <TEntity> ConfigForManyToManyReferenceEntityBase <TEntity, TIdentityKey, TIdentityUser>(this EntityTypeBuilder <TEntity> builder)
     where TEntity : ManyToManyReferenceEntityBase <TIdentityKey, TIdentityUser>
     where TIdentityKey : struct, IEquatable <TIdentityKey>
     where TIdentityUser : class, IEntity <TIdentityKey>
 {
     return(builder.ConfigForIManyToManyReferenceEntity <TEntity, TIdentityKey, TIdentityUser>());
 }
Exemple #2
0
        /// <summary>
        /// 配置多对多导航实体
        /// 包括创建时间、创建人导航和外键
        /// </summary>
        /// <typeparam name="TEntity">实体类型</typeparam>
        /// <typeparam name="TIdentityKey">身份主键类型</typeparam>
        /// <typeparam name="TIdentityUser">身份类型</typeparam>
        /// <param name="builder">实体类型构造器</param>
        /// <returns>实体类型构造器</returns>
        public static EntityTypeBuilder <TEntity> ConfigForIManyToManyReferenceEntity <TEntity, TIdentityKey, TIdentityUser>(this EntityTypeBuilder <TEntity> builder)
            where TEntity : class, IManyToManyReferenceEntity <TIdentityKey, TIdentityUser>
            where TIdentityKey : struct, IEquatable <TIdentityKey>
            where TIdentityUser : class, IEntity <TIdentityKey>
        {
            builder.ConfigForIManyToManyReferenceEntity <TEntity, TIdentityKey>()
            .ConfigForICreatorRecordable <TEntity, TIdentityUser, TIdentityKey>();

            return(builder);
        }
Exemple #3
0
 public static void ConfigOrganizationPermissionDeclaration <TOrganizationPermissionDeclaration, TKey, TIdentityKey>(
     this EntityTypeBuilder <TOrganizationPermissionDeclaration> builder)
     where TKey : struct, IEquatable <TKey>
     where TIdentityKey : struct, IEquatable <TIdentityKey>
     where TOrganizationPermissionDeclaration : OrganizationPermissionDeclaration <TKey, TIdentityKey>
 {
     builder.HasKey(e => new { e.OrganizationId, e.PermissionDefinitionId });
     builder.ConfigForIManyToManyReferenceEntity();
     builder.HasOne(e => e.PermissionDefinition)
     .WithMany()
     .HasForeignKey(e => e.PermissionDefinitionId);
     builder.ToTable("OrganizationPermissionDeclarations");
 }
Exemple #4
0
 public static void ConfigUserRole <TUserRole, TUser, TRole, TKey>(
     this EntityTypeBuilder <TUserRole> builder)
     where TKey : struct, IEquatable <TKey>
     where TUserRole : ApplicationUserRole <TKey, TUser, TRole>
     where TUser : class, IEntity <TKey>
     where TRole : class, IEntity <TKey>
 {
     builder.ConfigForIManyToManyReferenceEntity <TUserRole, TKey, TUser>();
     builder.HasOne(e => e.User)
     .WithMany()
     .HasForeignKey(e => e.UserId);
     builder.HasOne(e => e.Role)
     .WithMany()
     .HasForeignKey(e => e.RoleId);
     builder.ToTable("AppUserRoles");
 }
Exemple #5
0
 /// <summary>
 /// 配置多对多导航实体
 /// 包括创建时间
 /// </summary>
 /// <typeparam name="TEntity">实体类型</typeparam>
 /// <param name="builder">实体类型构造器</param>
 /// <returns>实体类型构造器</returns>
 public static EntityTypeBuilder <TEntity> ConfigForManyToManyReferenceEntityBase <TEntity>(this EntityTypeBuilder <TEntity> builder)
     where TEntity : ManyToManyReferenceEntityBase
 {
     return(builder.ConfigForIManyToManyReferenceEntity());
 }