powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / как правильно
5 сообщений из 5, страница 1 из 1
как правильно
    #38606938
помогите я запутался в правилах

как правильно зделть репозиторий
есть три таблицы - здесь показаны только ключевые поля

Код: plaintext
1.
2.
3.
4.
Users          UserProjects           Projects
=======        ============           ========
Username ------ Username       |----- Id
                ProjectId------|

Пользователи, Проекты и ПроектыПользователя (many-to-many)

Мне нужно получить проекты пользователя в по имени пользователя

Где правильно брать данные. Если делать метод в ProjectRepository то тогда нужно в
логике обращаться к таблице UserProjects. Тогда получается что РепозиторийПроектов
знает о таблице UserProjects. Это нарушение единичной ответственности, так?

Делать репозиторий UserProjectsRepository както некрасиво. Это же не сущность а вспомогалка.

Я весь в непонятках.
...
Рейтинг: 0 / 0
как правильно
    #38606941
Кавказ-сила
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
как правильно
    #38606956
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как правильно,

через UsersRepo вы получите пользователей, а через ProjectsRepo вы получите проекты. а что вы получите через UsersProjectsRepo, м? т.е. лишнее это. да, конечно обе репы должны знать про таблицу сцепки, которая организует связь многие-ко-многим. в EF, например, эта таблица скрывается от прямого использования, достаточно обратиться к навигационному свойству сущности.

так что по логике, если вам нужны пользователи, берёте из репы пользователей. если вам нужны проекты, то берёте из репы проектов.

собственно и проблемы здесь никакой нет.
...
Рейтинг: 0 / 0
как правильно
    #38607125
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гы, прям Repository Driven Development какой-то.

Репозиторий - это посредник между Domain Model и Data Mapping Layer.

Первое Вы уже спроектировали?

Я вижу два варианта:
1. Пользователь ведёт N проектов, то есть в классе User определено свойство Projects и репозиторий UserRepository возвращает первого вместе со списком его проектов.
2. Каждый проект имеет состав участников, то есть в классе Project определено свойство Participants. Метод репозитория ProjectRepository принимает на вход критерий поиска проектов по участнику и, вуаля, возвращает список проектов, где участвует пользователь.

Вообщем DDD Вам в помощь.
...
Рейтинг: 0 / 0
как правильно
    #38607264
monstrU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAГы, прям Repository Driven Development какой-то.

Репозиторий - это посредник между Domain Model и Data Mapping Layer.

Первое Вы уже спроектировали?

Я вижу два варианта:
1. Пользователь ведёт N проектов, то есть в классе User определено свойство Projects и репозиторий UserRepository возвращает первого вместе со списком его проектов.
2. Каждый проект имеет состав участников, то есть в классе Project определено свойство Participants. Метод репозитория ProjectRepository принимает на вход критерий поиска проектов по участнику и, вуаля, возвращает список проектов, где участвует пользователь.

Вообщем DDD Вам в помощь.

3. и еще QueryObject
(ну для прикола)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / как правильно
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]