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