添加部门以及部门和人员多对多关系

TangShanKaiPing
wanggang 6 years ago
parent 079f8fc9d3
commit 305419ba7f

@ -0,0 +1,5 @@
configuration
p2
workspace
artifacts.xml
*.bak

Binary file not shown.

@ -22,9 +22,8 @@ namespace Infrastructure.Domain
public T Parent { get; set; }
public List<T> Children { get; set; } = new List<T>();
public string GetFullName()
public string GetFullName(string separator = "→")
{
var separator = @"→";
var names = new List<string>();
var item = this;
while (item != null)

@ -1,27 +0,0 @@
using Infrastructure.Domain;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Application.Domain.Entities
{
public class Client:BaseEntity
{
public string ClientId { get; set; }
public string ClientName { get; set; }
public string AllowedGrantTypes { get; set; }
public string ClientSecrets { get; set; }
public string AllowedScopes { get; set; }
public bool RequirePkce { get; set; }
public bool RequireClientSecret { get; set; }
public string RedirectUris { get; set; }
public string PostLogoutRedirectUris { get; set; }
public string AllowedCorsOrigins { get; set; }
public bool AllowOfflineAccess { get; set; }
}
}

@ -0,0 +1,10 @@
using Infrastructure.Domain;
using System.Collections.Generic;
namespace Application.Domain.Entities
{
public class Department : BaseTreeEntity<Department>
{
public List<UserDepartment> UserDepartments { get; set; } = new List<UserDepartment>();
}
}

@ -52,5 +52,6 @@ namespace Application.Domain.Entities
public DateTimeOffset? LockoutEnd { get; set; }
public List<UserRole> UserRoles { get; set; } = new List<UserRole>();
public List<UserDepartment> UserDepartments { get; set; } = new List<UserDepartment>();
}
}

@ -0,0 +1,13 @@
using Infrastructure.Domain;
using System;
namespace Application.Domain.Entities
{
public class UserDepartment : BaseEntity
{
public Guid UserId { get; set; }
public Guid DepartmentId { get; set; }
public User User { get; set; }
public Department Department { get; set; }
}
}

@ -5,7 +5,6 @@
public string Id { get; set; }
public string FromName { get; set; }
public string ToId { get; set; }
public string Type { get; set; }
}
}

@ -81,6 +81,12 @@ namespace UserCenter
modelBuilder.Entity<Permission>().HasIndex(o => o.Number).IsUnique();
modelBuilder.Entity<UserRole>().HasIndex(o => new { o.UserId, o.RoleId }).IsUnique();
modelBuilder.Entity<RolePermission>().HasIndex(o => new { o.RoleId, o.PermissionId }).IsUnique();
modelBuilder.Entity<Department>().HasOne(o => o.Parent).WithMany(o => o.Children).HasForeignKey(o => o.ParentId);
modelBuilder.Entity<Department>().Property(o => o.Number).IsRequired();
modelBuilder.Entity<Department>().HasIndex(o => o.Number).IsUnique();
modelBuilder.Entity<UserDepartment>().HasOne(o => o.User).WithMany(o => o.UserDepartments).HasForeignKey(o => o.UserId);
modelBuilder.Entity<UserDepartment>().HasOne(o => o.Department).WithMany(o => o.UserDepartments).HasForeignKey(o => o.DepartmentId);
modelBuilder.Entity<UserDepartment>().HasIndex(o => new { o.UserId, o.DepartmentId }).IsUnique();
//关系
modelBuilder.Entity<Site>();
modelBuilder.Entity<Site>().HasIndex(o => o.Name).IsUnique();
@ -173,6 +179,50 @@ namespace UserCenter
Key = "123456"
});
dbContext.SaveChanges();
var department = new Department
{
Name = "科学技术大学",
Number = "0",
Children = new List<Department>
{
new Department{ Name="人事部",Number="1"},
new Department{ Name="财务部",Number="2"},
new Department{ Name="理学院",Number="3"},
new Department{
Name ="计算机学院",
Number ="4",
Children = new List<Department>
{
new Department
{
Name ="计算机科学与技术专业",
Number ="5",
Children = new List<Department>
{
new Department
{
Name ="2018级",
Number ="6",
Children=new List<Department>
{
new Department{ Name="1班",Number="7" }
}
}
}
}
}
}
}
};
dbContext.Set<Department>().Add(department);
dbContext.SaveChanges();
var departments = dbContext.Set<Department>().ToList();
foreach (var item in departments)
{
item.UpdatePath();
}
dbContext.SaveChanges();
}
}
}
Loading…
Cancel
Save