|
Сложный LINQ запрос при многоуровневой архитектуре
|
|||
---|---|---|---|
#18+
Привет! Решил перевести проект на многоуровневую архитектуру (WEB -> BLL -> DAL) и возникла такая проблема: Есть сущность в БД со множеством связей и при выводе списка этих сущностей нужно применить несколько фильтров в зависимости от некоторых условий, допустим, если пользователь авторизован, то применить данное условие, если не авторизован, то другое и таких условий друг за другом несколько. Когда все было в одном проекте и я работал с контекстом напрямую из контроллера, то это делалось легко, я просто наращивал IQueryable и потом выполнял запрос, а как быть в случае, когда у меня нет прямого доступа к уровню данных и это нужно сделать через репозиторий? У меня варианта 2: Делать все возможные варианты перегрузок метода. Делать метод с кучей необязательных параметров и проверять их на значения. Поделитесь опытом или статейкой =) Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 23:55 |
|
Сложный LINQ запрос при многоуровневой архитектуре
|
|||
---|---|---|---|
#18+
__Pavel__, divide and conquer ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2019, 01:01 |
|
Сложный LINQ запрос при многоуровневой архитектуре
|
|||
---|---|---|---|
#18+
__Pavel__У меня варианта 2: 3) создать класс "MyFilter" и передавать его в качестве параметра. Это позволит безболезненно наращивать фильтр ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2019, 08:56 |
|
Сложный LINQ запрос при многоуровневой архитектуре
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2019, 09:42 |
|
Сложный LINQ запрос при многоуровневой архитектуре
|
|||
---|---|---|---|
#18+
Calabonga__Pavel__, Надеюсь поможет моя реализация... Вот видео или статья Как я "люблю" эти GetList() и GetById() ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2019, 10:52 |
|
Сложный LINQ запрос при многоуровневой архитектуре
|
|||
---|---|---|---|
#18+
__Pavel__, шаблон проектирования QueryObject, или шаблон проектирования Specification или посмотреть в сторону CQRS ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2019, 11:29 |
|
|
start [/forum/topic.php?fid=18&msg=39861273&tid=1354905]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 142ms |
0 / 0 |