Sử dụng lại khóa gốc tổng hợp trong các ngữ cảnh bị ràng buộc?

Jan 12 2021

Như câu hỏi đã nêu, đây có phải là thực hành xấu? Tôi có root tổng hợp Người dùng trong ngữ cảnh bị ràng buộc của Identity để xác thực người dùng. Trong ngữ cảnh bị ràng buộc này, tôi có các trường cho Người dùng liên quan đến việc xác định Người dùng, ví dụ: email, mặn pw, v.v.

Tôi cũng có một miền phụ chung để xử lý thông báo. Trong bối cảnh này, Người dùng là Người thông báo. Trong ngữ cảnh này, Thông báo có các trường ví dụ như số lượng thông báo chưa đọc, LastRead, v.v.

Sử dụng lại User id trong trường hợp này có tốt không, vì tôi biết có sự tương ứng 1-1 giữa Người dùng và Người thông báo? Hay tôi nên có một trường trong gốc Thông báo tham chiếu đến Người dùng? Nó cảm thấy thừa, bởi vì sau đó tôi phải thực hiện một tra cứu để lập bản đồ giữa chúng khi tôi biết mối quan hệ của chúng là đối xứng.

Trả lời

3 Christophe Jan 12 2021 at 05:09

Không, không sử dụng lại các khóa gốc tổng hợp để xác định các đối tượng khác nhau trong các ngữ cảnh khác nhau!

Tại sao?

  • Vì a Notificantkhông phải là a User. Có thể hôm nay, hầu hết người dùng nhận được thông báo. Nhưng ngày mai bạn có thể phải thông báo cho các bên thứ ba không sử dụng hệ thống, hoặc thậm chí các hệ thống giám sát tự động.
  • Bởi vì đó là một bối cảnh bị ràng buộc khác và các bối cảnh bị ràng buộc có thể phát triển độc lập. Có thể hôm nay UserNotificantchia sẻ cùng một mức độ chi tiết và có thể liên quan trực tiếp đến một. Nhưng ai biết được về ngày mai? Vì vậy, bạn cần phải suy nghĩ cẩn thận về cách chúng nên được liên hệ với nhau.