feature:区域表手动指定多对多关系

This commit is contained in:
2021-04-27 10:42:21 +08:00
parent d93ca8b235
commit f3ad93aabd
3 changed files with 52 additions and 3 deletions

View File

@@ -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>(