【问题标题】:useing Hot Chocolate Graphql on aspnetboilerplate在 aspnetboilerplate 上使用 Hot Chocolate Graphql
【发布时间】:2021-07-06 09:50:37
【问题描述】:

我知道我们可以在 dotNetCore 上使用 Hot Chocolate,我通常会使用它。

GraphQL/Query.cs

public class Query
{
    public IQueryable<TestTbl> GetList([Service] myDbContext context)
    {
        return context.TestTbl;
    }

}

这是我的 startup.cs

ConfigureServices 中 services.AddGraphQLServer().AddQueryType();

配置

app.UseEndpoints(endpoints =>
{
     endpoints.MapGraphQL();
}

但是当我调用这个查询时,我得到了这个错误:

{
  "errors": [
    {
      "message": "Unexpected Execution Error",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "testTbl"
      ],
      "extensions": {
        "message": "Can't create component 'markaz.EntityFrameworkCore.markazDbContext' as it has dependencies to be satisfied.\r\n\r\n'markaz.EntityFrameworkCore.markazDbContext' is waiting for the following dependencies:\r\n- Service 'Microsoft.EntityFrameworkCore.DbContextOptions`1[[markaz.EntityFrameworkCore.markazDbContext, markaz.EntityFrameworkCore, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]' which was not registered.\r\n",
        "stackTrace": "   at Castle.MicroKernel.Handlers.DefaultHandler.AssertNotWaitingForDependency()\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.ResolveCore(CreationContext context, Boolean requiresDecommission, Boolean instanceRequired, Burden& burden)\r\n   at Castle.MicroKernel.Handlers.DefaultHandler.Resolve(CreationContext context, Boolean instanceRequired)\r\n   at Castle.MicroKernel.DefaultKernel.ResolveComponent(IHandler handler, Type service, Arguments additionalArguments, IReleasePolicy policy, Boolean ignoreParentContext)\r\n   at Castle.MicroKernel.DefaultKernel.Castle.MicroKernel.IKernelInternal.Resolve(Type service, Arguments arguments, IReleasePolicy policy, Boolean ignoreParentContext)\r\n   at Castle.MicroKernel.DefaultKernel.Resolve(Type service, Arguments arguments)\r\n   at Castle.Windsor.MsDependencyInjection.ScopedWindsorServiceProvider.GetServiceInternal(Type serviceType, Boolean isOptional)\r\n   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)\r\n   at HotChocolate.Execution.Processing.MiddlewareContext.Service[T]()\r\n   at lambda_method1153(Closure , IResolverContext )\r\n   at HotChocolate.Types.FieldMiddlewareCompiler.<>c_DisplayClass3_0.<<CreateResolverMiddleware>b_0>d.MoveNext()\r\n--- End of stack trace from previous location ---\r\n   at HotChocolate.Execution.Processing.ResolverTask.ExecuteResolverPipelineAsync(CancellationToken cancellationToken)\r\n   at HotChocolate.Execution.Processing.ResolverTask.TryExecuteAsync(CancellationToken cancellationToken)"
      }
    }
  ],
  "data": {
    "testTbl": null
  }
}

知道我该怎么做吗?

【问题讨论】:

    标签: .net-core graphql aspnetboilerplate hotchocolate


    【解决方案1】:

    您需要设置数据库上下文。请查看我们的教程,其中将引导您完成入门以及如何与 EF 集成。

    https://github.com/ChilliCream/graphql-workshop

    【讨论】:

    • 另外,我们有一个 Slack 频道,您可以加入我们以获得社区支持。看看chillicream.com 的松弛邀请链接。
    • 我的问题是关于 aspnetboilerplate dotnet 核心框架,这个模板做了一些很好的代码并且它有自己的 dbContext,我想在这个模板上使用 hotChocolate
    猜你喜欢
    • 2021-01-07
    • 2022-11-14
    • 2022-08-19
    • 2021-12-04
    • 2021-12-10
    • 2020-07-18
    • 2021-09-30
    • 2023-02-23
    • 1970-01-01
    相关资源
    最近更新 更多