|
Code First + SQL Triggers
|
|||
---|---|---|---|
#18+
ViPRosIQuerable можно возвращать - это часть NET Зачем, если можно на IQueryable делать классные типизированные спецификации? Куски LINQ запросов к данным, разбросанные по классам выглядят не намного лучше размазанных SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 13:07 |
|
Code First + SQL Triggers
|
|||
---|---|---|---|
#18+
hVostt, Я имею ввиду что по науке паттерностроения возврат IQuerable не может быть квалифицирована как ошибка и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 13:10 |
|
Code First + SQL Triggers
|
|||
---|---|---|---|
#18+
[quote Calabonga]skyANACalabongaskyANA, Суть репозитория в том, что он скрывает за собой хранилище. То есть это может быть и SQL Server, и MongoDB, и Couchbase, и сторонний сервис, и вообще несколько хранилишь последовательно, или параллельно. У Вас же это выходит не репозиторий, а обёртка над EF. Репозиторий - как абстракция на доступ к БД (DAL). Его задача отвязаться от конкретной БД. То есть вашему репозиторию должно быть абсолютно фиалетово, к какой базе данных цепляться (MS SQL, PostgreSQL, SqlLite, Oracle, InMemory, etc). Таким образом, EntityFramework делает тоже самое только на основании набора Provider'ов. Именно поэтому я и говорю, что ваша реализация просто дублирует функционал, который уже делает EntityFramework. И я считаю, что в этом очень мало смысла. Поэтому я в свой репозиторий привнес немного больше обязанностей, как то: Mapping, Pagination and Secutiry (в частности, Row Level Security). Вы не улавливаете сути. Не только БД. Конкретная реализация репозитория вполне может работать со сторонним сервисом. Или не только с SQL БД, но и с MongoDB. Или с Key/Value storage: Couchbase, Redis. Можно заинжектить такую реализацию IRepository, что данные сначала будут искаться в локальной памяти, потом в распределённом кэше, в БД и если нигде нет, то запрашивать сторонний сервис, класть в БД, распределённый кэш и память ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 13:23 |
|
Code First + SQL Triggers
|
|||
---|---|---|---|
#18+
И при этом принцип единственности ответственности не будет нарушаться ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 13:25 |
|
Code First + SQL Triggers
|
|||
---|---|---|---|
#18+
ViPRoshVostt, Я имею ввиду что по науке паттерностроения возврат IQuerable не может быть квалифицирована как ошибка и все. Превалирует мнение, что возвращаться должен IEnumerable, а не IQueryable. А для меня всё одно. И так и так -- не верно. Запросы должны быть отдельно, чтобы их можно было тестировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 13:29 |
|
Code First + SQL Triggers
|
|||
---|---|---|---|
#18+
hVostt, Подспудно понятно что, IEnumerable менее опасная штука, чем IQueryable. Но формально катит по всем канонам паттерноведния. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2018, 13:49 |
|
|
start [/forum/topic.php?fid=18&msg=39652449&tid=1355206]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 301ms |
total: | 449ms |
0 / 0 |