Сценарии
Вычисляемые и внешние данные. | 1) Используя механизм Extending Types можно добавить к сущности дополнительные поля, при этом также есть возможность указать кастомную логику заполнения полей (Resolver). 2) Добавив к вышеуказанному решению механизм DataLoader а именно BatchDataLoader, можно оптимизировать запросы и вычисления. 3) При всех вышеуказанном, мы можем использовать в качестве сущности БД из EntityFramework | EntityFrameworkCore контекста, при этом имея встроенный механизм филтьрации IQurable. |
Асинхронное выполнение запросов | Если я ничего не напутал, то заметил, что при конфигурации контракта важно возвращать именно IAsyncEnumerable<T>, а не IQueryable (DbSet<T> напрямую). Если этого не сделать, то фреймворк будет загружать данные из БД синхронно, не используя IAsyncEnumerator<T>. |
Тестирование | GraphQL - How to write integration tests against Hot Chocolate https://chillicream.com/blog/2019/04/11/integration-tests |