Я использую ниже с двумя DbContext
с:
https://github.com/SimonCropp/GraphQL.EntityFramework
Я получаю эту ошибку:
GraphQL.ExecutionError: Ошибка при попыткеразрешить проект.
System.Collections.Generic.KeyNotFoundException: Указанный ключ 'Models.Master.Project' отсутствует в словаре.
в System.Collections.Generic.Dictionary 2.get_Item(TKey key)<br>
at IncludeAppender.AddIncludes[TItem,TSource](IQueryable
1 запрос, ResolveFieldContext 1 context) in C:\\projects\\graphql-entityframework\\src\\GraphQL.EntityFramework\\IncludeAppender.cs:line 20<br>
at
GraphQL.EntityFramework.EfGraphQLService.<>c__DisplayClass21_0
2.d.MoveNext () в C: \ projects \ graphql-entityframework \ src \ GraphQL.EntityFramework \ EfGraphQLService_Queryable.cs: строка 80
Конец трассировки стека из предыдущего местоположения, где было сгенерировано исключение
в GraphQL.Instrumentation.MiddlewareResolver.Resolve (контекст ResolveFieldContext)
в GraphQL.Execution.ExecutionStrategy.ExecuteNodeAsync (контекст ExecutionContext, узел ExecutionNode)
Конец трассировки стека внутренних исключений
** Когда я пытаюсь добавить две модели из двух
DbContext
s следующим образом в
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
- это Проект.который является отдельным на арендатора.Так что это ProjectDbContext
(у которого нет Project
модели).