Sử dụng VS 2008 & NET 3.5 SP1:WCF, Entity Framework & Dữ liệu Hợp đồng
Tôi đang sử dụng WCF cho phép khách hàng để kết nối với một dịch vụ mà đọc và viết mục cơ sở dữ liệu sử dụng Entity Framework. Theo mặc định các thực thể được tạo tự động từ cơ sở dữ liệu có thuộc tính DataContract được áp dụng.
Rất tiếc, nhiều trường bị lộ không có nghĩa là khách hàng tiêu thụ (tức là - hồ sơ của người đang truy cập dữ liệu nào, v.v.) và vì lý do bảo mật, tôi muốn giữ chúng tiếp xúc. Có cách nào để tránh các lớp khung Entity không bị lộ theo cách này không?
Lưu ý: Đây không phải là bản sao của How to prevent private properties in .NET entities from being exposed as public via services?. Trong câu hỏi đó, người dùng muốn hiển thị có chọn lọc các trường nhất định, trong khi tôi muốn thực thể không được hiển thị dưới dạng một DataContract.
Xin cảm ơn trước.
Điều này có thể tương tự như một bài đăng khác chưa được trả lời hoàn toàn: 'wcf và khung thực thể ADO', http://stackoverflow.com/questions/828302/wcf-and-ado-entity-framework – Malcolm
Tôi đồng ý với câu trả lời trên liên kết "wcf và ADO entity framework" mà bạn đã cung cấp. Hoặc bạn có thể triển khai một số kiểu kho lưu trữ. – NikolaiDante
@Nath - Tôi chắc chắn đồng ý với câu trả lời về "khung công tác của tổ chức wcf và ADO", nhưng tiếc là nó không giải quyết được sự cố của tôi. Điểm đầu tiên trong câu trả lời là "Tự động tạo các thực thể khung thực thể", sẽ hiển thị dữ liệu mà tôi muốn giữ riêng tư dưới dạng DataContracts. Một mẫu kho lưu trữ sẽ có cùng một vấn đề nếu nó được hỗ trợ bởi một mô hình EF cũng được tạo ra theo cách này - trừ khi tôi thiếu một cái gì đó? – Malcolm