EfCore REST-API: для приложения без сохранения состояния запрос всегда должен быть AsNoTracking - PullRequest
1 голос
/ 05 января 2020

REST не запрашивает состояния и EfCore по умолчанию привязывает объекты при запросе. Я считаю, что EfCore работает лучше без трека.

В web-api для любого Http_Get я использую dbContext.Set<TEntity>().AsNoTracking();, чтобы получить IQueryable вместо dbContext.Set<TEntity>().AsQueryable();. Однако есть случаи, когда мне нужно отслеживать сущность, например, при обновлении отключенной сущности.

Это хороший подход для запроса без отслеживания для всего запроса Http_GET?

1 Ответ

1 голос
/ 06 января 2020

Да, рекомендуется использовать .AsNoTracking() для запросов только для чтения.

См. Эту запись в документации :

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...