Как получить собственный DataLoader внутри преобразователя полей с кодом?C#

Место общения программистов C#
Ответить
Anonymous
 Как получить собственный DataLoader внутри преобразователя полей с кодом?

Сообщение Anonymous »

Мы используем HC v12, и нам необходимо переопределить значение MaxBatchSize по умолчанию для загрузчиков данных (по умолчанию оно равно 1024, несмотря на то, что в документации указано, что по умолчанию оно неограничено). В частности, нам нужен неограниченный (или очень большой) размер пакета.
Пример пользовательского загрузчика данных в документации вводится посредством внедрения параметров, но мы используем преобразователи кода, такие как:

Код: Выделить всё

            descriptor.Field("myField")
.Type()
.Argument(
"projectId",
a => a
.Type()
.Description("The ID of the current project"))
.Resolve(async context =>
{
// resolver code here
});
Похоже, что нет способа настроить загрузчик данных с помощью встроенного контекста.BatchDataLoader, поэтому мы подумали использовать собственный класс загрузчика данных, но этот класс требует параметров конструктора, зависящих от контекста, и предназначен для автоматического внедрения. Мы используем преобразователи кода, поэтому для нас это не вариант. Пример загрузчика данных из документации:

Код: Выделить всё

  public PersonBatchDataLoader(
IPersonRepository repository,
IBatchScheduler batchScheduler,
DataLoaderOptions? options = null)
: base(batchScheduler, options)
{
_repository = repository;
}
Так как же мы можем использовать, скажем, экземпляр PersonBatchDataLoader внутри нашего метода Resolve? Кажется, больше невозможно получить его через context.DataLoader, как в этой старой проблеме.


Подробнее здесь: https://stackoverflow.com/questions/792 ... d-resolver
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»