Tôi sử dụng api Web để truy xuất dữ liệu từ cơ sở dữ liệu. Tôi chỉ có 1 bảng "tblMessage" và muốn lấy dữ liệu từ bảng đó.Luôn có lỗi "Loại ObjectContent 1 không thể tuần tự hóa nội dung phản hồi ..."
Tôi đã thiết lập mọi thứ nhưng sau đó khi tôi chạy trang web. lỗi luôn luôn nói
Các 'ObjectContent`1' loại thất bại trong việc sắp đặt từng cơ thể phản ứng cho loại nội dung 'application/xml
Tôi đọc một số bài viết trên stackoverflow rằng Sayid lỗi có thể được sửa chữa bởi yêu cầu trình duyệt xuất dữ liệu ở định dạng json. Sau đó, các lỗi trở nên
Các 'ObjectContent`1' loại thất bại trong việc sắp đặt từng cơ thể phản ứng cho loại nội dung 'application/json
Tôi đã thử tất cả các giải pháp từ các bài viết sau đây, nhưng họ không giải quyết vấn đề (trình duyệt báo cáo lỗi tương tự)
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
Lỗi chính xác này là gì?
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();
}
}
Cảm ơn. Tôi đọc một bài viết về vấn đề này và thêm cùng một điều nhưng trình duyệt báo cáo cùng một lỗi. Tôi nghĩ rằng lỗi phát sinh từ mã – kaboom
@kaboom hãy thử câu trả lời cập nhật –
Cảm ơn bạn lần nữa. Thật không may, mã của tôi không biên dịch b/c context.tblMessage trả về một DbSet, không phải Danh sách. Tôi đã thử "return context.tblMessage.ToList()" nhưng nó không thành công. – kaboom