KeyNotFoundException в GraphQL .net Entity Framework

Я использую ниже с двумя DbContexts:

https://github.com/SimonCropp/GraphQL.EntityFramework

Я получаю эту ошибку:

GraphQL.ExecutionError: Error trying to resolve project.

System.Collections.Generic.KeyNotFoundException: The given key 'Models.Master.Project' was not present in the dictionary.

at System.Collections.Generic.Dictionary2.get_Item(TKey key)
at IncludeAppender.AddIncludes[TItem,TSource](IQueryable
1 query, ResolveFieldContext1 context) in C:\\projects\\graphql-entityframework\\src\\GraphQL.EntityFramework\\IncludeAppender.cs:line 20
at GraphQL.EntityFramework.EfGraphQLService.<>c__DisplayClass21_0
2.<b__0>d.MoveNext() in C:\projects\graphql-entityframework\src\GraphQL.EntityFramework\EfGraphQLService_Queryable.cs:line 80

End of stack trace from previous location where exception was thrown

at GraphQL.Instrumentation.MiddlewareResolver.Resolve(ResolveFieldContext context)
at GraphQL.Execution.ExecutionStrategy.ExecuteNodeAsync(ExecutionContext context, ExecutionNode node)

End of inner exception stack trace

Когда я пытаюсь добавить две модели из двух DbContext, как показано ниже в startup.cs (далее, если я удалю вторую строку, она работает отлично. Но это мне нужно для моего второго DbContext).

EfGraphQLConventions.RegisterInContainer(services, ProjectDataContextBuilder.ProjectModel); //This is creating issue as of now. wasn't issue when checked with my and your.
EfGraphQLConventions.RegisterInContainer(services, MasterDataContextBuilder.MasterModel);

DataContextBuilder классы следующие:

static class MasterDataContextBuilder
{
    static MasterDataContextBuilder()
    {
        using (var masterDataContext = InMemoryContextBuilder.Build<ecdiscoMasterContext>())
        {
            MasterModel = masterDataContext.Model;
        }
    }

    public static IModel MasterModel;
}

static class ProjectDataContextBuilder
{
    static ProjectDataContextBuilder()
    {
        using (var projectDataContext = InMemoryContextBuilder.Build<ecdiscoProjectContext>())
        {
            ProjectModel = projectDataContext.Model;
        }
    }

    public static IModel ProjectModel;
}

Примечание: Ошибка. Проект является моделью MasterDbContext.

Еще один DbContext — Project. отдельно для каждого арендатора. Итак, это ProjectDbContext (у которого нет Project модели).

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
190
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

это исправлено в версии 6 https://github.com/SimonCropp/GraphQL.EntityFramework/blob/master/doco/configuration.md#multiple-dbcontexts

Некоторый дополнительный текст, чтобы преодолеть глупые 30 символов мин.

Другие вопросы по теме