_ProgProg_ Ответов: 1

Как добавить условие, чтобы все сделать запросы?


Здравствуйте дорогие,

У меня ситуация выглядит следующим образом:
Я хочу изменить все запросы get в своем приложении, чтобы пропустить удаленные записи, которые помечены как удаленные в БД.

Могу ли я настроить контекст для исключения, чтобы сделать это вместо изменения всех запросов?

С уважением,
АМР

Что я уже пробовал:

я много искал, но не получил никакого результата.
Я также пытался отредактировать все запросы get, но это займет много времени.

F-ES Sitecore

Возможно, в EF есть что-то умное, что может это сделать, но обычно такие вещи обрабатываются с помощью шаблона репозитория, который позволяет вам иметь единственную точку кода, где выполняется "get" (и другие функции могут использовать эту функцию в качестве основы своих собственных запросов), поэтому фильтрация удаленных записей-это всего лишь случай изменения одного метода. Однако если ваш код не использует шаблон РЕПО, это потребует большого рефакторинга.

_ProgProg_

Да, но, к сожалению, я не использую шаблон репозитория.

Richard Deeming

Насколько вы контролируете свою базу данных или свое отображение EF?

Вы можете просто создать представления в базе данных, соответствующие каждой таблице, которые отфильтровывают мягко удаленные записи. Затем вы можете сопоставить свои наборы EF с представлениями, а не с базовыми таблицами.

_ProgProg_

не могли бы вы привести мне подробный пример?

1 Ответов

Рейтинг:
0

Maciej Los

Цитата:
Могу ли я настроить контекст для исключения, чтобы сделать это вместо изменения всех запросов?

Нет, вы должны изменить свои запросы.

Для получения более подробной информации, пожалуйста, смотрите:
Entity Framework работает с DbContext[^]
Entity Framework запрос и поиск сущностей[^]