Регистрация не работает должным образом (Entity Framework) - PullRequest
0 голосов
/ 14 января 2019

Я не могу понять, как объединить эти две таблицы в UserName с помощью структуры сущностей.

Я попробовал и утверждение, и метод, но ни один из них не сработал.

В таблицах определенно есть один и тот же пользователь

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();

Итак, с помощью краткого кода я получаю список всех сотрудников из контекста базы данных. Я просматриваю роли пользователей, чтобы найти список пользователей с ролью менеджера. Сотрудник также имеет поле UserName, и я попытался присоединиться к ним, используя поле UserName. В настоящее время в обеих таблицах правильно отображается один менеджер с соответствующим именем пользователя, но после этого кода совпадение имеет 0 результатов.

Я тоже так пробовал:

employees.Join(managerUsers,
               e => e.UserName,
               m => m.UserName,
               (e,m) => new { e }).ToList();   

Но это также не возвращает никаких записей. Что я делаю не так?

1 Ответ

0 голосов
/ 14 января 2019

Сам разобрался с решением

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