Я моделирую очень простое приложение ASP.NET MVC, используя NHibernate, и я, похоже, застрял в своем дизайне. Вот эскиз моей модели:
модель 1 http://i29.tinypic.com/309614n.jpg
Как видите, это ОЧЕНЬ просто, но у меня есть некоторые опасения по этому поводу. Корневой объект пользователя и корневой объект организации получают доступ к одному и тому же дочернему объекту 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. Спасибо