KeyNotFoundException in GraphQL .net Entity Framework



我在下面使用两个DbContexts:

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

我收到此错误:

GraphQL.ExecutionError:尝试解析项目时出错。

System.Collections.Generic.KeyNotFoundException:字典中不存在给定的键"Models.Master.Project"。

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

从异常的先前位置开始的堆栈跟踪结束 被扔了

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

内部异常堆栈跟踪结束

当我尝试添加两个两个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是项目,每个租户都是独立的。所以这是ProjectDbContext(没有Project模型)。

这在版本 6 中已修复 https://github.com/SimonCropp/GraphQL.EntityFramework/blob/master/doco/configuration.md#multiple-dbcontexts

一些额外的文本来克服愚蠢的 30 个字符分钟

最新更新