feature:区域表手动指定多对多关系
This commit is contained in:
@@ -40,5 +40,28 @@ namespace Ewide.Core.Entity
|
|||||||
|
|
||||||
[Comment("排序")]
|
[Comment("排序")]
|
||||||
public int Sort { get; set; }
|
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;
|
||||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||||
using System;
|
using System;
|
||||||
@@ -70,6 +71,10 @@ namespace Ewide.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public List<SysRoleDataScope> SysRoleDataScopes { get; set; }
|
public List<SysRoleDataScope> SysRoleDataScopes { get; set; }
|
||||||
|
|
||||||
|
public ICollection<AreaNumber> AreaNumbers { get; set; }
|
||||||
|
|
||||||
|
public List<SysRoleArea> SysRoleAreas { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 多对多(菜单)
|
/// 多对多(菜单)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -97,7 +102,15 @@ namespace Ewide.Core
|
|||||||
{
|
{
|
||||||
u.HasKey(c => new { c.SysRoleId, c.SysOrgId });
|
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)
|
entityBuilder.HasMany(p => p.SysMenus)
|
||||||
.WithMany(p => p.SysRoles)
|
.WithMany(p => p.SysRoles)
|
||||||
.UsingEntity<SysRoleMenu>(
|
.UsingEntity<SysRoleMenu>(
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
using Furion.DatabaseAccessor;
|
using Ewide.Core.Entity;
|
||||||
|
using Furion.DatabaseAccessor;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||||
using System;
|
using System;
|
||||||
@@ -127,6 +128,11 @@ namespace Ewide.Core
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public List<SysUserDataScope> SysUserDataScopes { get; set; }
|
public List<SysUserDataScope> SysUserDataScopes { get; set; }
|
||||||
|
|
||||||
|
public ICollection<AreaNumber> AreaNumbers { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 多对多中间表(用户-区域 数据范围)
|
||||||
|
/// </summary>
|
||||||
|
public List<SysUserArea> SysUserAreas { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 配置多对多关系
|
/// 配置多对多关系
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -150,6 +156,13 @@ namespace Ewide.Core
|
|||||||
{
|
{
|
||||||
u.HasKey(c => new { c.SysUserId, c.SysOrgId });
|
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