Używam interfejsu API do pobierania danych z bazy danych. Mam tylko 1 tabelę "tblMessage" i chcę pobrać dane z tej tabeli.Zawsze występuje błąd "Typ obiektu ObjectContent 1 nie może serializować treści odpowiedzi ..."
Ustawiłem wszystko, ale potem, gdy uruchomię stronę. błąd zawsze powiedzieć
typu „ObjectContent`1” nie szeregować ciało odpowiedzi dla typu zawartości „application/xml
czytałem kilka postów na StackOverflow że Sayid błąd może być ustalona przez mówiąc przeglądarce, aby wyprowadzała dane w formacie json. Po tym, błąd staje
wpisać „ObjectContent`1” nie szeregować ciało odpowiedzi dla typu zawartości „application/json
Próbowałem wszystkie rozwiązania z następujących stanowisk, ale nie rozwiąże problemu (przeglądarka zgłasza ten sam błąd)
Web API Error: The 'ObjectContent`1' type failed to serialize the response body for content type
Failed to serialize the response body for content type
Web API Error: The 'ObjectContent`1' type failed to serialize the response body for content type
Czym dokładnie jest ten błąd?
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();
}
}
Dzięki. Przeczytałem post o tym problemie i dodałem to samo, ale przeglądarka zgłasza ten sam błąd. Myślę, że błąd generuje kod – kaboom
@kaboom spróbuj zaktualizować odpowiedź –
Jeszcze raz dziękuję. Niestety mój kod nie kompiluje b/c context.tblMessage zwraca DbSet, a nie List. Próbowałem "return context.tblMessage.ToList()", ale nie udało się. – kaboom