Я думаю, что прочитал 16 154 вопроса, сообщения в блогах, твиты и т. Д. О DDD и лучших практиках. Извинения за еще один вопрос такого типа. Предположим, у меня три таблицы в моей базе данных, User, Department и UserDepartment. Все очень просто. Мне нужно создать иерархию, показывающую, к каким отделам имеет доступ пользователь. Проблема в том, что мне также необходимо показать родительские отделы тех, к которым у них есть доступ.DDD и получение дополнительной информации в классе домена
Лучше ли иметь метод GetDepartments() в моем классе пользователей? Сейчас у меня есть пользовательский сервис с GetDepartments (string userName), но я не чувствую, что это оптимальное решение. Если user.GetDepartments() предпочтительнее, то как мне получить доступ к репозиторию, чтобы получить родительские отделы для тех, к которым пользователь имеет доступ?
Не думайте, что это имеет значение, но я использую Entity Framework.
public class User
{
[Key]
public int UserId { get; private set; }
[Display(Name = "User Name")]
public string UserName { get; private set; }
[Display(Name = "Email")]
public string Email { get; private set; }
[Display(Name = "UserDepartments")]
public virtual ICollection<UserDepartment> UserDepartments { get; private set; }
public List<Department> GetDepartments()
{
// Should this be here? and if so, what's the preferred method for accessing the repository?
}
}
Спасибо. Это очень помогает. Я думаю, что №4 был моим самым большим камнем преткновения с №1 в миксе. До сих пор я избегал того, чтобы мой домен знал что-либо о чем-либо еще, но я все время зависал по этой проблеме. Ваше разъяснение помогает. Искренне благодарен. – nickfinity