powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Code First + SQL Triggers
8 сообщений из 83, страница 4 из 4
Code First + SQL Triggers
    #39652438
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosIQuerable можно возвращать - это часть NET

Зачем, если можно на IQueryable делать классные типизированные спецификации? Куски LINQ запросов к данным, разбросанные по классам выглядят не намного лучше размазанных SQL.
...
Рейтинг: 0 / 0
Code First + SQL Triggers
    #39652442
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Я имею ввиду что по науке паттерностроения возврат IQuerable не может быть квалифицирована как ошибка и все.
...
Рейтинг: 0 / 0
Code First + SQL Triggers
    #39652449
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[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, что данные сначала будут искаться в локальной памяти, потом в распределённом кэше, в БД и если нигде нет, то запрашивать сторонний сервис, класть в БД, распределённый кэш и память
...
Рейтинг: 0 / 0
Code First + SQL Triggers
    #39652451
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И при этом принцип единственности ответственности не будет нарушаться
...
Рейтинг: 0 / 0
Code First + SQL Triggers
    #39652454
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRoshVostt,

Я имею ввиду что по науке паттерностроения возврат IQuerable не может быть квалифицирована как ошибка и все.

Превалирует мнение, что возвращаться должен IEnumerable, а не IQueryable. А для меня всё одно. И так и так -- не верно. Запросы должны быть отдельно, чтобы их можно было тестировать.
...
Рейтинг: 0 / 0
Code First + SQL Triggers
    #39652477
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Подспудно понятно что, IEnumerable менее опасная штука, чем IQueryable. Но формально катит по всем канонам паттерноведния.
...
Рейтинг: 0 / 0
Code First + SQL Triggers
    #39652571
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosПодспудно понятно что, IEnumerable менее опасная штука, чем IQueryable. Но формально катит по всем канонам паттерноведния.

Да не, не катит. Проходили )
...
Рейтинг: 0 / 0
Code First + SQL Triggers
    #39652580
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Ок.
...
Рейтинг: 0 / 0
8 сообщений из 83, страница 4 из 4
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Code First + SQL Triggers
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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