2009-03-16 31 views
6

Tôi đã đọc câu hỏi và câu trả lời về chủ đề này nhưng tôi vẫn có một số câu hỏi không có câu trả lời.Dịch vụ WCF phơi bày DTO hoặc Pháp nhân

Nếu tôi tạo ra một phương pháp để chuyển đổi Entity để DTO tôi sẽ chạy vào một số phương pháp gọi điện thoại hình tròn (có thể là do sai sót trong Model), ví dụ:

sản phẩm lớp có một tài sản Nhà cung cấp rằng chỉ đến một lớp Nhà cung cấp có chứa thuộc tính Danh sách với tất cả các sản phẩm được cung cấp .. Vì vậy, nếu tôi tạo một phương thức Phương thức GetProductDTO (Phương thức sản phẩm) trả về một lớp ProductDTO, tôi sẽ phải gọi GetSupplierDTO (Nhà cung cấp) cho mỗi sản phẩm, nhưng phương pháp cuối cùng này phải gọi GetProductDTO cho mỗi sản phẩm trong danh sách các sản phẩm plied ...

Tóm lại, tôi đang tìm kiếm một mẫu hoặc thực hành tốt nhất để tạo ra một EntityModel -> WCF Service -> Prism WPF application.

Cảm ơn

Trả lời

5

Nói chung, cho các mục đích DTO bạn có thể chỉ đơn giản là chọn không serialize bất kỳ "cha mẹ" tài sản. Thông thường, bạn thấy DTO có các thuộc tính điều hướng không ngoại trừ đúng dữ liệu được liên kết (ví dụ: order-header => order-detail, nhưng bạn sẽ không có tiêu đề đơn hàng => khách hàng - chỉ cần khóa của khách hàng; 'd tìm khách hàng một cách riêng biệt). Với cách tiếp cận này, có một con đường một chiều để tuần tự hóa/deserialize bất kỳ đồ thị, và nó sẽ làm việc tốt.

+0

Ok, đây có thể là giải pháp nhanh chóng ... tiếp theo trong khách hàng tôi phải tạo lại biểu đồ? Vì vậy, ở mỗi bên tôi phải chuyển đổi EF-> DTO và DTO-> EF? –

+0

Có. Đó là những gì bạn phải làm. –

+3

Chết tiệt, nó không phải là câu trả lời tôi đã chờ đợi ... :-) –

Các vấn đề liên quan