CẬP NHẬT Cảnh báo, câu trả lời này đã hết hạn ngay bây giờ khi OData V4 có sẵn.
Tôi đã viết một bài về chủ đề này một thời gian trước đây ở đây .
Như Franci đã nói, OData dựa trên Atom Pub. Tuy nhiên, họ đã xếp một số chức năng lên trên và không may bỏ qua một số ràng buộc REST trong quy trình.
Khả năng truy vấn của dịch vụ OData yêu cầu bạn xây dựng các URI dựa trên thông tin không có sẵn hoặc được liên kết trong phản hồi. Đó là những gì người REST gọi thông tin ngoài băng và giới thiệu khớp nối ẩn giữa máy khách và máy chủ.
Khớp nối khác được giới thiệu là thông qua việc sử dụng siêu dữ liệu EDMX để xác định các thuộc tính có trong nội dung mục nhập. Siêu dữ liệu này có thể được phát hiện tại một điểm cuối cố định được gọi là siêu dữ liệu $. Một lần nữa, khách hàng cần biết điều này trước, nó không thể được phát hiện.
Thật không may, Microsoft không thấy phù hợp để tạo các loại phương tiện để mô tả các phần dữ liệu quan trọng này, do đó, bất kỳ ứng dụng khách OData nào cũng phải đưa ra một loạt các giả định về dịch vụ mà nó đang nói và dữ liệu mà nó đang nhận.