ASP Net Не хочет сериализовывать ответ по Get-запросу

Есть в Model класс Employee

public class Employee
{
    public int Id { get; set; }
    public string FIO { get; set; }
    public DateTime Birthday { get; set; }
    public decimal Salary { get; set; }

Есть контекст

class KorusContext : DbContext
{
    public KorusContext() : base("KorusConnection")
    {
        this.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);
    }
    public DbSet<Employee> Employees { get; set; }

Контроллер (например, Get-часть)

public class EmployeesController : ApiController
{
    private KorusContext db = new KorusContext();

    [Route("getlist")]
    public IEnumerable<Employee> GetEmployees()
    {
        return db.Employees.ToList();
    }

После ввода /getlist выводится следующее:System.InvalidOperationException

Что касаемо сериализации, никаких трюков с этим я еще не вытворял. Предполагалось, что он просто должен выводить ответ в xml


Ответы (2 шт):

Автор решения: MelnikovI

Попробуйте смапить объекты из бд в DTO и их возвращать, не надо напрямую возвращать Entity.

→ Ссылка
Автор решения: Johannes Krauser III

В MVC возвращаемый тип всегда ActionResult, если вам нужно вернуть именно страницу.

[Route("getlist")]
public ActionResult GetEmployees()
{
   return View(db.Employees.ToList());
}

А уже в представлении в model указываете следующее

@model IEnumerable<Employee>
→ Ссылка