Đó là hai hoàn toàn khác nhau công nghệ:
Entity Framework là một HOẶC mapper để truy cập cơ sở dữ liệu của bạn dễ dàng hơn; bạn có thể so sánh điều này với ví dụ: NHibernate, LINQ to SQL, Subsonic, Genome hoặc các trình ánh xạ OR khác
WCF Data Services là cách để hiển thị các mô hình dữ liệu của bạn với thế giới bên ngoài qua HTTP/REST; so sánh này để webservices ASMX di sản, các dịch vụ WCF tinh khiết, công nghệ dịch vụ khác
Bạn không thể so sánh hai - chúng con thú hoàn toàn khác nhau, và trong nhiều giải pháp, họ sẽ làm việc với nhau - người ta không thể thay thế khác .
Nếu bạn có ứng dụng giao diện điều khiển cần đọc dữ liệu từ cơ sở dữ liệu, bạn có thể sử dụng trực tiếp Khung thực thể - trong trường hợp đó, ứng dụng bảng điều khiển của bạn phải có kết nối trực tiếp tới cơ sở dữ liệu và nó được gắn với Khung thực thể Công nghệ.
Tùy chọn hiển thị dữ liệu bằng cách sử dụng Dịch vụ dữ liệu WCF thêm lớp khác - ứng dụng bảng điều khiển của bạn không truy cập dữ liệu trực tiếp, nhưng nó chỉ gọi một Dịch vụ dữ liệu WCF. Bây giờ bạn về cơ bản có hai phần: ứng dụng giao diện điều khiển của bạn là ứng dụng khách và một số loại ứng dụng dịch vụ sẽ cung cấp dữ liệu. Trong trường hợp đó, khách hàng của bạn không cần biết bất kỳ điều gì về Khung thực thể hoặc bất kỳ thứ gì giống như vậy - bạn cũng có thể dễ dàng thêm khách hàng thứ hai, ví dụ: một ứng dụng web. Nhưng ứng dụng dịch vụ cung cấp dữ liệu sẽ vẫn cần có khả năng kết nối trực tiếp tới cơ sở dữ liệu bằng Entity Framework. Vì vậy, cuối cùng, bạn không thực sự thay thế Entity Framework với WCF Data Services - bạn chỉ cần thêm một lớp indirection khác, nhưng cuối cùng, để lấy dữ liệu, bạn vẫn cần một số loại dữ liệu công nghệ truy cập (như Entity Framework).
Nguồn
2011-01-23 11:47:10
Vâng đây là táo và cam và mỗi giải quyết các vấn đề khác nhau. WCF Data Services dường như không phù hợp nếu chỉ 1 ứng dụng sẽ sử dụng nó cho dữ liệu ETL'ing. –