2011-01-26 38 views
12

Tôi mới làm quen với mô hình Thực thể và tôi đang tìm kiếm lời khuyên về cách tổ chức mô hình Thực thể của mình.Sử dụng nhiều tệp edmx so với một tệp edmx lớn?

tôi nên tạo một tập tin mô hình thực thể (.edmx) mà sẽ chứa tất cả các bảng trong cơ sở dữ liệu của tôi hay tôi nên phá vỡ nó file hợp lý cho người dùng, đơn đặt hàng, sản phẩm, vv

Xin vui lòng cho tôi biết cái nào là tốt hơn và những ưu/khuyết điểm (nếu có) của mỗi giải pháp thay thế.

Cảm ơn.

+3

Mô hình của bạn phải là về các thực thể chứ không phải về các bảng. –

Trả lời

8

Có một EDM lớn chứa tất cả các thực thể nói chung KHÔNG phải là phương pháp hay và không được khuyến nghị. Bạn nên đưa ra các bộ mô hình miền khác nhau, mỗi mô hình có chứa các đối tượng liên quan trong khi mỗi bộ không liên quan và bị ngắt kết nối với nhau.

Hãy xem bài này, nơi tôi đã giải thích vấn đề này một cách chi tiết:
Does it make sense to create a single diagram for all entities?

2

tôi nghĩ rằng chúng ta nên giữ nhiều file edmx trong dự án của chúng tôi. nó giống như tệp 1-edmx - một tập hợp (tập hợp các đối tượng liên quan). theo ddd (thiết kế ổ đĩa miền), chúng tôi có thể có nhiều hơn một tập hợp trong mô hình của chúng tôi. chúng tôi có thể giữ một tệp edmx cho mỗi tổng hợp

15

Tôi sẽ chống lại hạt ở đây. Tôi đã xây dựng 2 ứng dụng lớn với EF ngay bây giờ, một ứng dụng có một bản edmx và một với một số. Có ưu và khuyết điểm nhưng nói chung tôi thấy cuộc sống dễ dàng hơn nhiều với một edmx. Lý do là hầu như không bao giờ có sự tách biệt thực sự các miền trong ứng dụng, ngay cả khi có vẻ như từ lúc bắt đầu. Yêu cầu mới bật lên yêu cầu bạn liên kết các thực thể trong các edmx khác nhau sau đó bạn phải cấu trúc lại và liên tục di chuyển mọi thứ xung quanh.

Tất cả các đối số để chia sẽ sớm bị lỗi thời khi EF 5 introduces Multiple Diagram s, đó là lợi ích thực sự duy nhất để chia tệp edmx ở địa điểm đầu tiên. Bạn không muốn phải xem mọi thứ bạn không làm việc và bạn không muốn tác động đến hiệu suất.

Trong ứng dụng của tôi với phiên bản chia của chúng tôi hiện có một số thực thể trùng lặp để có được lợi ích của các thuộc tính điều hướng. Có thể ứng dụng của bạn có sự tách biệt các miền, nhưng thường mọi thứ kết nối với người dùng. Tôi đang xem xét sáp nhập hai của bây giờ nhưng nó sẽ có rất nhiều công việc. Vì vậy, tôi sẽ nói giữ chúng lại với nhau cho đến khi nó trở thành một vấn đề.

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