Изменения документа Сценарии
Редактировал(а) Alexandr Fokin 2024/03/05 20:34
От версии 1.9
отредактировано Alexandr Fokin
на 2023/05/01 18:07
на 2023/05/01 18:07
Изменить комментарий:
К данной версии нет комментариев
К версии 1.14
отредактировано Alexandr Fokin
на 2023/05/02 17:51
на 2023/05/02 17:51
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -22,9 +22,29 @@ 22 22 ---- 23 23 24 24 3) При всех вышеуказанном, мы можем использовать в качестве сущности БД из [[EntityFramework | EntityFrameworkCore>>doc:Разработка.NET.Работа с БД.EntityFramework | EntityFrameworkCore.WebHome]] контекста, при этом имея встроенный механизм филтьрации [[IQurable>>doc:Разработка.NET.C#.Коллекции.IQurable.WebHome]]. 25 + 26 +---- 27 + 28 +{{code language="c#"}} 29 +public static void AddScalarResolver<TEntity, TType, TResolverType>( 30 + this IObjectTypeDescriptor<TEntity> descriptor, 31 + string fieldName 32 + ) 33 + // Самодельный интерфейс для удобства, его нет в фреймворке. 34 + where TResolverType : IDataResolver<TType> 35 +{ 36 + descriptor 37 + .Field(fieldName) 38 + .Type<ScalarType<TType>>() 39 + .ResolveWith<CustomDataResolver>( 40 + e => e.LoadAsync(default!, default) 41 + ); 42 +} 43 +{{/code}} 25 25 ))) 45 +|(% style="width:144px" %)Асинхронное выполнение запросов|(% style="width:1349px" %)async await. 46 +Если я ничего не напутал в своем тестовом проекте, то обнаружил, что при конфигурации контракта важно возвращать именно IAsyncEnumerable<T>, а не IQueryable (DbSet<T> напрямую). 47 +Если этого не сделать, то фреймворк будет загружать данные из БД синхронно, не используя IAsyncEnumerator<T>. 26 26 |(% style="width:144px" %) |(% style="width:1349px" %) 27 27 |(% style="width:144px" %)[[Тестирование>>doc:Разработка.Тестирование.WebHome]]|(% style="width:1349px" %)GraphQL - How to write integration tests against Hot Chocolate 28 28 [[https:~~/~~/chillicream.com/blog/2019/04/11/integration-tests>>https://chillicream.com/blog/2019/04/11/integration-tests]] 29 - 30 -