Я пытаюсь создать страницу, которая отображает список сотрудников.
Все данные аутентификации сотрудников хранятся в таблицах членства .NET, а другие данные, такие как Имя, хранятся в связанной таблице с именем Employees.
Вот мой код, который получает список сотрудников:
var viewModel = employees.OrderBy(e => e.Name).
Select(e => new EmployeeViewModel
{
EmployeeId = e.EmployeeID,
Name = e.Name,
Email = Membership.GetUser(e.UserID).Email,
Active = e.Active
});
Я получаю эту ошибку:
LINQ to Entities не распознает метод метода System.Web.Security.MembershipUser GetUser (System.Object), и этот метод нельзя преобразовать в выражение хранилища.
Я провел некоторое исследование и обнаружил, что мне нужно вытащить функцию Membership.GetUser
за пределы выражения LINQ. Это бы хорошо работало, если бы у меня был только один сотрудник, но я возвращаю список, поэтому пользователь будет отличаться на каждой итерации.
Кто-нибудь знает, как я могу это исправить?