Aman.Jen Ответов: 1

Я пытаюсь реализовать лямбда выражения в мой проект MVC ASP.NET


IEnumerable<int> employeeIds = Employee.GetAllEmployees()
    .Select(emp => emp.EmployeeID);
foreach (int id in employeeIds)
{
    Console.WriteLine(id);
}




public static List<Employee> GetAllEmployees()
       {
          EmployeeDBContext db = new EmployeeDBContext();
           List<Employee> lstEmployees = new List<Employee>();

           lstEmployees = db.Employees.ToList();
           return lstEmployees;

       }



Выход:
101
102
103
------


Я получаю консольный вывод правильно, но я хочу показать тот же вывод в Asp.Net MVC: просмотр.

Что я уже пробовал:

public ActionResult EmpOutput()
       {
           StudentDBContext db = new StudentDBContext();
           IEnumerable<int> employeeIds = db.Employees
           .Select(emp => emp.Id);
           return View(employeeIds);
       }




Ошибка :
The model item passed into the dictionary is of type 'System.Data.Entity.Infrastructure.DbQuery`1[System.Int32]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[DemoWithMVC.Models.Employee]'.



Пожалуйста, помогите мне, где я ошибаюсь. Заранее благодарю вас.

Aman.Jen

Огромное спасибо!

1 Ответов

Рейтинг:
12

F-ES Sitecore

Ваше представление ожидает список объектов Employee, и вы передаете список int. Либо измените представление, чтобы принять список int, либо измените свой код, чтобы передать список сотрудников. Мы не знаем, какое решение вам нужно, так как не видим вашего мнения.

return View(db.Employees.ToList());