Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 [6]      все
 Re: Передача лямбды в репозиторий. Где ошибка?  [new]
Hexag0v
Member

Откуда:
Сообщений: 26
hVostt

Продолжим. Про пейджинг вы мне не ответили.


А чем плох, например метод GetPagedList или Page<T> FindAll(Pageable pageable) ?

hVostt
А что делать, если вам нужна проекция? Или огромное число проекций? Или проекции, которые на стадии разработки неизвестны? Будете периодически лазить и допиливать репо? Ох, как же это бьёт в ущерб идеи полной независимости и инкапсуляции.
.


Как вариант, делать слегка более избыточные DTO там, где не критично. А если их огромное количество, то возможно, что статическая типизация, уже начинает больше мешать, чем помогать и нужно смотреть в сторону других контейнеров.
13 май 19, 10:46    [21883101]     Ответить | Цитировать Сообщить модератору
 Re: Передача лямбды в репозиторий. Где ошибка?  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Hexag0v
А чем плох, например метод GetPagedList
это как?
По паре методов на каждый список? С пагинацией и без нее?
13 май 19, 11:16    [21883132]     Ответить | Цитировать Сообщить модератору
 Re: Передача лямбды в репозиторий. Где ошибка?  [new]
ЕвгенийВ
Member

Откуда: Москва
Сообщений: 4787
hVostt

Бред в общем, аргумент странный.

Странно то, ReadOnly не фига не такая, а ты предлагаешь использовать ее как ReadOnly.
14 май 19, 17:16    [21884637]     Ответить | Цитировать Сообщить модератору
 Re: Передача лямбды в репозиторий. Где ошибка?  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 26615
ЕвгенийВ
hVostt
Бред в общем, аргумент странный.

Странно то, ReadOnly не фига не такая, а ты предлагаешь использовать ее как ReadOnly.

Всё-таки ты странный.

Есть некий класс, что возвращает IReadOnlyCollection. В данном топике обсуждается репозиторий.
Вот для потребителя (вызывающей строны) результат будет именно ReadOnly.

А то, что ты привёл в качестве примера - сродни:

- вот я вам вернул IReadOnlyCollection и потом взял и подменил содержимое, чё не ждали?!

С таким же успехом можешь базу дропнуть после того как данные на клиента вернул Картинка с другого сайта.
14 май 19, 17:37    [21884657]     Ответить | Цитировать Сообщить модератору
 Re: Передача лямбды в репозиторий. Где ошибка?  [new]
hVostt
Member

Откуда:
Сообщений: 15821
ЕвгенийВ
hVostt
Бред в общем, аргумент странный.

Странно то, ReadOnly не фига не такая, а ты предлагаешь использовать ее как ReadOnly.


Если покопаешься в исходниках новых библиотек ASP.NET Core, увидишь частое использование IReadOnlyCollection, особенно там, где это семантически верно. Внутри будет либо возврат List, либо AsReadOnly. Разумеется, старые интерфейсы они вынуждены поддерживать, поэтому IEnumerable тоже используется.

Ну а так-то в помощью рефлексии ты можешь даже к приватным полям обращаться, полной защиты от дураков нет, и не нужно этого.
19 май 19, 14:01    [21888174]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 [6]      все
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить