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;
@@ -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 });
});
}
}
}