IQueryable в репозитории

1

Я прочитал некоторые статьи, которые запрещают публикацию IQueryable в общих репозиториях, поскольку это реализация LINQ. Я просто не спрашивал, нормально ли использовать IQueryable для частного использования, только потому, что он не может быть доступен за пределами репозитория.

Теги:
entity-framework
repository-pattern

1 ответ

2
Лучший ответ

Его вполне нормально использовать что-либо для частной реализации. Он не распространяется на клиентов ваших репозиториев через API, поэтому он никоим образом не влияет на них.

На самом деле клиенты репозиториев должны зависеть только от абстракции репозитория (обычно интерфейс). Таким образом, даже публичные участники, которые не являются частью интерфейса, используемого клиентом, не будут влиять на этого клиента.

Кстати, нет способа избежать частного использования IQueryable внутри репозитория, поэтому вы используете Entity Framework. Любой запрос, который вы определяете в своем репозитории, - IQueryable :)

  • 2
    +1, это точка шаблона репозитория.
  • 0
    Значит ли это, что если я изменю свой ORM, я также изменю работу своего хранилища?
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню