7

Tôi muốn sử dụng Entity Framework Code-đầu tiên cho một dự án mới. Vì vậy, tôi đã quyết định làm một số nghiên cứu và xây dựng một số bản demo để tôi có thể xem nó hoạt động như thế nào. Thông qua, tôi có một vấn đề lớn hoặc có lẽ nhiều hơn một cái gì đó mà không rõ ràng với tôi mà liên quan đến cách thức thực thể khung bản đồ mã đầu tiên cho các thực thể và thiết kế điều khiển tên miền.Mã khung thực thể-Ánh xạ đầu tiên phản ánh thiết kế theo hướng miền như thế nào?

Khi chúng tôi xây dựng một ứng dụng, chúng tôi xác định các thực thể miền. (chúng tôi xác định nguồn gốc tổng hợp và tạo kho lưu trữ cho chúng tùy thuộc vào tình hình kinh doanh từ những gì mà tôi nghe)

Điều đó được chấp nhận nhưng thực thể ánh xạ đầu tiên dường như hoạt động như một cách quan hệ giữa các thực thể. Vậy làm thế nào cả hai có thể cùng tồn tại?

Như một ví dụ (Suy nghĩ ở miền điều khiển bên thiết kế):

JournalchứaJournalEntychứanhiệm vụ, vấn đề, ghi chú

lời Nghiêng là thực thể. Trong một số cách sau khi phân tích tôi sẽ nói rằng các tạp chí là tổng hợp gốc của tạp chí tổng hợp và tạp chí vì đây là một thành phần trực tiếp. Mỗi nhiệm vụ chứa một giá trị giờ để biết số giờ cần thực hiện để hoàn thành nhiệm vụ, do đó, có nhiều cách để tính tổng số giờ và cũng là mức lương đến từ việc này. Tạp chí có tài sản tỷ lệ giờ.

Các thực thể khác là mỗi gốc tổng hợp và chúng có thể có tham chiếu đến tạp chí để chúng tôi biết vị trí của nhiệm vụ, ghi chú và vấn đề thuộc về.

Nhưng vấn đề xảy ra ở đây .. cách ánh xạ khung thực thể mã đầu tiên có thể phản ánh điều này như thế nào? Từ một cái nhìn trực quan, chúng ta sẽ nói rằng tạp chí có một mục nhật ký và mục nhật ký có chứa các ghi chú, các vấn đề và các nhiệm vụ. Nhưng từ quan điểm DDD, có lẽ không phải như vậy. Sửa tôi nếu tôi sai nhưng mã đầu tiên làm việc như một cơ sở dữ liệu quan hệ.

Vậy cách chúng tôi sẽ ánh xạ ví dụ ở trên trong mã đầu tiên?

Cảm ơn rất nhiều.

Trả lời

2


Tôi nghĩ rằng không tệ nếu mỗi thực thể miền có bảng tương ứng trong cơ sở dữ liệu. Và nó không có nghĩa là nó là cấu trúc quan hệ vì đối tượng Journal có thuộc tính JournalEntity (trong cấu trúc quan hệ journalEntity chỉ có JournalID). Hơn nữa, có thể ánh xạ phân cấp đối tượng vào một bảng và tạo các kiểu phức hợp trong ánh xạ của bạn. Nó có nghĩa là bạn có thể có các kịch bản lập bản đồ phức tạp hơn, sau đó là lớp trên mỗi bảng.

Đây là ScottGu bài đăng trên blog về nó.

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