|
Сложный 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/search_topic.php?author=Shamann&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 4993ms |
total: | 5125ms |
0 / 0 |