ASP.NET核心多对多关系问题,包含问题



我想在部门视图中显示员工的职位。目前,我只显示员工。如何将员工职位包括在内?员工和职位的模式关系是多对多,部门和员工的关系也是多对多。当职位和员工的关系是一对多时,没有问题。我正试图向DivisionEmployeeViewModel属性添加集合public IEnumerable<EmployeePosition> EmployeePositionList { get; set;}但我不知道如何进一步实施它。我被难住了。

分区控制器中的方法操作

public async Task<IActionResult> Details(int id)
{
var model = new DivisionEmployeeViewModel
{
DivisionEmployeeList = await _db.DivisionEmployeesModel.Include(x => x.Employee)
.Include(x => x.Division).Where(x => x.Division_Id == id).ToListAsync(),
DivisionEmployees = new DivisionEmployee()
{
Division_Id = id
},
Division = await _db.Divisions.FirstOrDefaultAsync(x => x.Id == id)
};
List<int> tempAssignedList = model.DivisionEmployeeList.Select(x => x.Employee_Id).ToList();
var tempList = await _db.Employees.Where(x => !tempAssignedList.Contains(x.Id)).ToListAsync();
model.DivisionEmployeeListDropDown = tempList.Select(x => new SelectListItem
{
Text = x.FullName,
Value = x.Id.ToString()
});
return View(model);
}

我的回购https://github.com/ValencyJacob/DepartmentManagementApp-Many-to-Many/tree/master/DepartmentManagement

对不起,这里有拼写错误。。myEmployee。员工职位。选择(ep=>ep.Position.Name(,但我真的不明白你想在Where中放什么_数据库。EmployeePositions确实满足了这一要求;我需要得到员工的职位;。对于单个员工,它是var posFor123=_db。员工职位。包括(ep=>ep.Position(。在其中(ep=>ep.EmployeId=123(,则您可以获得EmployeePosition的枚举表,然后您可以提取这些职位,可能就像posFor123一样。选择(ep=&gt;ep_Position.Name(–Caius Jard

最新更新