feature:区域表手动指定多对多关系
This commit is contained in:
@@ -40,5 +40,28 @@ namespace Ewide.Core.Entity
|
||||
|
||||
[Comment("排序")]
|
||||
public int Sort { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 多个区域有多个用户绑定自定义数据
|
||||
/// </summary>
|
||||
public ICollection<SysUser> SysUsers { get; set; }
|
||||
/// <summary>
|
||||
/// 中间表
|
||||
/// </summary>
|
||||
public List<SysUserArea> SysUserAreas { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 多个区域有多个角色绑定权限数据
|
||||
/// </summary>
|
||||
public ICollection<SysRole> SysRoles { get; set; }
|
||||
/// <summary>
|
||||
/// 中间表
|
||||
/// </summary>
|
||||
public List<SysRoleArea> SysRoleAreas { get; set; }
|
||||
/// <summary>
|
||||
/// 一个区域有多个组织
|
||||
/// </summary>
|
||||
public ICollection<SysOrg> SysOrgs { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Furion.DatabaseAccessor;
|
||||
using Ewide.Core.Entity;
|
||||
using Furion.DatabaseAccessor;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using System;
|
||||
@@ -70,6 +71,10 @@ namespace Ewide.Core
|
||||
/// </summary>
|
||||
public List<SysRoleDataScope> SysRoleDataScopes { get; set; }
|
||||
|
||||
public ICollection<AreaNumber> AreaNumbers { get; set; }
|
||||
|
||||
public List<SysRoleArea> SysRoleAreas { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 多对多(菜单)
|
||||
/// </summary>
|
||||
@@ -97,7 +102,15 @@ namespace Ewide.Core
|
||||
{
|
||||
u.HasKey(c => new { c.SysRoleId, c.SysOrgId });
|
||||
});
|
||||
|
||||
entityBuilder.HasMany(p => p.AreaNumbers)
|
||||
.WithMany(p => p.SysRoles)
|
||||
.UsingEntity<SysRoleArea>(
|
||||
u => u.HasOne(c => c.AreaNumber).WithMany(c => c.SysRoleAreas).HasForeignKey(c => c.AreaNumberCode),
|
||||
u => u.HasOne(c => c.SysRole).WithMany(c => c.SysRoleAreas).HasForeignKey(c => c.SysRoleId),
|
||||
u =>
|
||||
{
|
||||
u.HasKey(c => new { c.SysRoleId, c.AreaNumberCode });
|
||||
});
|
||||
entityBuilder.HasMany(p => p.SysMenus)
|
||||
.WithMany(p => p.SysRoles)
|
||||
.UsingEntity<SysRoleMenu>(
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Furion.DatabaseAccessor;
|
||||
using Ewide.Core.Entity;
|
||||
using Furion.DatabaseAccessor;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
using System;
|
||||
@@ -127,6 +128,11 @@ namespace Ewide.Core
|
||||
/// </summary>
|
||||
public List<SysUserDataScope> SysUserDataScopes { get; set; }
|
||||
|
||||
public ICollection<AreaNumber> AreaNumbers { get; set; }
|
||||
/// <summary>
|
||||
/// 多对多中间表(用户-区域 数据范围)
|
||||
/// </summary>
|
||||
public List<SysUserArea> SysUserAreas { get; set; }
|
||||
/// <summary>
|
||||
/// 配置多对多关系
|
||||
/// </summary>
|
||||
@@ -150,6 +156,13 @@ namespace Ewide.Core
|
||||
{
|
||||
u.HasKey(c => new { c.SysUserId, c.SysOrgId });
|
||||
});
|
||||
entityBuilder.HasMany(p => p.AreaNumbers).WithMany(p => p.SysUsers).UsingEntity<SysUserArea>(
|
||||
u => u.HasOne(c => c.AreaNumber).WithMany(c => c.SysUserAreas).HasForeignKey(c => c.AreaNumberCode),
|
||||
u => u.HasOne(c => c.SysUser).WithMany(c => c.SysUserAreas).HasForeignKey(c => c.SysUserId),
|
||||
u =>
|
||||
{
|
||||
u.HasKey(c => new { c.SysUserId, c.AreaNumberCode });
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user