Sempre tem erro "O tipo ObjectContent 1 falhou ao serializar o corpo da resposta ..."

Eu uso o Web api para recuperar dados do banco de dados. Eu só tenho uma tabela "tblMessage" e quero obter dados dessa tabela.

Eu configurei tudo, mas quando eu corro o site. o erro sempre diz

O tipo 'ObjectContent`1' falhou ao serializar o corpo da resposta para o tipo de conteúdo 'application / xml

Eu li alguns posts no stackoverflow que dizem que o erro pode ser corrigido dizendo ao navegador para enviar dados no formato json. Depois disso, o erro se torna

O tipo 'ObjectContent`1' falhou ao serializar o corpo da resposta para o tipo de conteúdo 'application / json

Eu tentei todas as soluções dos seguintes posts, mas eles não corrigem o problema (o navegador relata o mesmo erro)

Erro de API da Web: O tipo 'ObjectContent`1' falhou ao serializar o corpo da resposta para o tipo de conteúdo

Falha ao serializar o corpo da resposta para o tipo de conteúdo

Erro de API da Web: O tipo 'ObjectContent`1' falhou ao serializar o corpo da resposta para o tipo de conteúdo

O que exatamente esse erro é?

public interface IMessage
{
    IQueryable<Message> GetAll();
}

public class Message
{
    [Key]
    public int i_StmID { get; set; }
    public string vch_MsgString { get; set; } 
}

public class EFDBContext : DbContext
{
    public DbSet<Message> Message { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.Entity<Message>().ToTable("tblMessage");
    }
}

public class MessageRepository : IMessage
{
    private EFDBContext context = new EFDBContext();

    public IQueryable<Message> GetAll()
    {
        return context.tblMessage;
    }
}

public class MessageController : ApiController
{
    public IMessage repo = new MessageRepository();

    public IEnumerable<Message> GetAllMsg()
    {
        return repo.GetAll();
    }
}

questionAnswers(4)

yourAnswerToTheQuestion