我一辈子都想不通如何使用实体框架在UserName上连接这两个表。
我尝试了语句和方法,但都没有用。
表中肯定有相同的用户
if (dogName.matches("^\\s*$") || dogName.isEmpty()) {
System.out.println("Error: Name can't be empty.");
continue;
}
因此,简短的代码细分可以从数据库上下文中获取所有雇员的列表。我在用户角色中查找具有Manager角色的用户列表。员工也有一个“用户名”字段,我尝试使用“用户名”字段加入他们。当前,两个表中都有一位经理正确返回了具有匹配用户名的经理,但是在此代码之后,match有0个结果。
我也这样尝试过:
var employees = _context.Employees.Include(e => e.Loc);
//Only show employees with a user role of manager
var managerUsers = await _userManager.GetUsersInRoleAsync("Manager");
var match = (from e in employees
join m in managerUsers on e.UserName equals m.UserName
select new { Employee = e }).ToList();
但这也不会返回任何记录。我在做什么错了?
答案 0 :(得分:0)
自己找出解决方案
var managerEmployees = new List<Employee>();
for(int a = 0; a< selectManagersList.Count(); a++)
{
var found = await _context.Employees.FirstOrDefaultAsync(u=> u.UserName == managerUsers.ElementAt(a).UserName);
if (found!=null)
{
managerEmployees.Add(found);
}
}