Сценарии

Версия 1.9 от Alexandr Fokin на 2023/05/01 18:07

Вычисляемые и внешние данные.

1) Используя механизм

Extending Types
https://chillicream.com/docs/hotchocolate/v13/defining-a-schema/extending-types

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


2) Добавив к вышеуказанному решению механизм

DataLoader
https://chillicream.com/docs/hotchocolate/v13/fetching-data/dataloader

а именно BatchDataLoader, можно оптимизировать запросы и вычисления.
Есть возможность выполнить пакетную обработку, выполнив предварительное извлечение всех необходимых параметров
(правда в виде одного объекта строки, но можно использовать сериализацию или отдельный типизированный объект-хранилище в сочетании с типом регистрации Scoped),
в рамках обработки одного входящего запроса.


3) При всех вышеуказанном, мы можем использовать в качестве сущности БД из EntityFramework | EntityFrameworkCore контекста, при этом имея встроенный механизм филтьрации IQurable.

  
ТестированиеGraphQL - How to write integration tests against Hot Chocolate
https://chillicream.com/blog/2019/04/11/integration-tests