NHibernate を使用して非常に基本的な ASP.NET MVC アプリをモデリングしていますが、設計に行き詰まっているようです。ここに私のモデルのスケッチがあります:
ご覧のとおり、これは非常に基本的なことですが、いくつか懸念事項があります。ユーザー ルート エンティティと組織ルート エンティティは、2 つの 1 対多の関係を介して同じ Organization_Users エンティティの子にアクセスしています。これは正しくないようで、集約境界を破っていると思います。このモデルは私にはにおいがしますが、次のようなコードが必要なので、このアイデアが気に入っています。
var user = userRepository.Load(1);
var list = user.Organizations; // All the organizations the user is a part of.
と
var org = orgRepository.Load(1);
var list = org.Users; // All the users in an organization.
また、フラグ付きやロールなどのテーブル内の追加データは、組織エンティティによって使用されます。これはデザインが悪いのでしょうか?素晴らしいと思うことがあれば。私はまだ、DDD の考え方について理解を深めようとしています。ありがとう