{"id":13415277,"url":"https://github.com/graphql-dotnet/graphql-dotnet","last_synced_at":"2025-05-12T05:19:44.645Z","repository":{"id":34661205,"uuid":"38632468","full_name":"graphql-dotnet/graphql-dotnet","owner":"graphql-dotnet","description":"GraphQL for .NET","archived":false,"fork":false,"pushed_at":"2025-05-06T12:38:20.000Z","size":15473,"stargazers_count":5930,"open_issues_count":114,"forks_count":940,"subscribers_count":179,"default_branch":"master","last_synced_at":"2025-05-11T23:43:34.271Z","etag":null,"topics":["api","dotnet-core","graphiql","graphql","graphql-dotnet"],"latest_commit_sha":null,"homepage":"https://graphql-dotnet.github.io","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/graphql-dotnet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"open_collective":"graphql-net"}},"created_at":"2015-07-06T16:47:15.000Z","updated_at":"2025-05-11T03:35:47.000Z","dependencies_parsed_at":"2024-01-13T19:20:05.863Z","dependency_job_id":"88a8e05e-394c-4ea1-9d1f-43c9bc0f7217","html_url":"https://github.com/graphql-dotnet/graphql-dotnet","commit_stats":{"total_commits":2247,"total_committers":184,"mean_commits":12.21195652173913,"dds":0.7387627948375612,"last_synced_commit":"44fc8e3462f8c7a748fa7e11c474d45c38cee390"},"previous_names":[],"tags_count":132,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphql-dotnet%2Fgraphql-dotnet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphql-dotnet%2Fgraphql-dotnet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphql-dotnet%2Fgraphql-dotnet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphql-dotnet%2Fgraphql-dotnet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/graphql-dotnet","download_url":"https://codeload.github.com/graphql-dotnet/graphql-dotnet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253652790,"owners_count":21942571,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","dotnet-core","graphiql","graphql","graphql-dotnet"],"created_at":"2024-07-30T21:00:46.425Z","updated_at":"2025-05-12T05:19:44.599Z","avatar_url":"https://github.com/graphql-dotnet.png","language":"C#","readme":"# GraphQL for .NET\n\n[![License](https://img.shields.io/github/license/graphql-dotnet/graphql-dotnet)](LICENSE.md)\n[![codecov](https://codecov.io/gh/graphql-dotnet/graphql-dotnet/branch/master/graph/badge.svg?token=iXZo1jZvFo)](https://codecov.io/gh/graphql-dotnet/graphql-dotnet)\n[![Nuget](https://img.shields.io/nuget/dt/GraphQL)](https://www.nuget.org/packages/GraphQL)\n[![Nuget](https://img.shields.io/nuget/v/GraphQL)](https://www.nuget.org/packages/GraphQL)\n[![GitHub Release Date](https://img.shields.io/github/release-date/graphql-dotnet/graphql-dotnet?label=released)](https://github.com/graphql-dotnet/graphql-dotnet/releases)\n[![GitHub commits since latest release (by date)](https://img.shields.io/github/commits-since/graphql-dotnet/graphql-dotnet/latest?label=new+commits)](https://github.com/graphql-dotnet/graphql-dotnet/commits/master)\n![Size](https://img.shields.io/github/repo-size/graphql-dotnet/graphql-dotnet)\n\n[![GitHub contributors](https://img.shields.io/github/contributors/graphql-dotnet/graphql-dotnet)](https://github.com/graphql-dotnet/graphql-dotnet/graphs/contributors)\n![Activity](https://img.shields.io/github/commit-activity/w/graphql-dotnet/graphql-dotnet)\n![Activity](https://img.shields.io/github/commit-activity/m/graphql-dotnet/graphql-dotnet)\n![Activity](https://img.shields.io/github/commit-activity/y/graphql-dotnet/graphql-dotnet)\n\n| :heart: [Become a backer!](https://opencollective.com/graphql-net#backer) :heart: | [![Backers on Open Collective](https://opencollective.com/graphql-net/backers/badge.svg)](#backers) [![Sponsors on Open Collective](https://opencollective.com/graphql-net/sponsors/badge.svg)](#sponsors)  |\n|-|-|\n\n| :heavy_dollar_sign: [Get paid for contributing!](https://github.com/graphql-dotnet/graphql-dotnet/blob/master/BOUNTY.md) :heavy_dollar_sign: | [![GitHub issues by-label](https://img.shields.io/github/issues-raw/graphql-dotnet/graphql-dotnet/bounty?color=blue\u0026label=open%20bounties)](https://github.com/graphql-dotnet/graphql-dotnet/issues?q=is%3Aopen+is%3Aissue+label%3Abounty) [![GitHub closed issues by-label](https://img.shields.io/github/issues-closed-raw/graphql-dotnet/graphql-dotnet/bounty-paid?color=blue\u0026label=paid%20bounties)](https://github.com/graphql-dotnet/graphql-dotnet/issues?q=is%3Aclosed+is%3Aissue+label%3Abounty-paid)\n|-|-|\n\nThis is an implementation of GraphQL, a query language and execution engine originally created\nby Facebook in 2012, in .NET.\n\nThe [GraphQL specification](https://spec.graphql.org/) is now being developed and\nmaintained by the [GraphQL Foundation](https://foundation.graphql.org/), established in 2019 to\nsupport the GraphQL ecosystem. You can also find the specification's source and discussions\non GitHub at [graphql/graphql-spec](https://github.com/graphql/graphql-spec).\n\nThis project uses a [lexer/parser](http://github.com/graphql-dotnet/parser) originally written\nby [Marek Magdziak](https://github.com/mkmarek) and released with a MIT license. Thank you Marek!\n\nProvides the following packages:\n\n| Package                | Downloads                                                                                                                 | NuGet Latest                                                                                                             |\n|------------------------|---------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|\n| GraphQL                | [![Nuget](https://img.shields.io/nuget/dt/GraphQL)](https://www.nuget.org/packages/GraphQL)                               | [![Nuget](https://img.shields.io/nuget/v/GraphQL)](https://www.nuget.org/packages/GraphQL)                               |\n| GraphQL.SystemTextJson | [![Nuget](https://img.shields.io/nuget/dt/GraphQL.SystemTextJson)](https://www.nuget.org/packages/GraphQL.SystemTextJson) | [![Nuget](https://img.shields.io/nuget/v/GraphQL.SystemTextJson)](https://www.nuget.org/packages/GraphQL.SystemTextJson) |\n| GraphQL.NewtonsoftJson | [![Nuget](https://img.shields.io/nuget/dt/GraphQL.NewtonsoftJson)](https://www.nuget.org/packages/GraphQL.NewtonsoftJson) | [![Nuget](https://img.shields.io/nuget/v/GraphQL.NewtonsoftJson)](https://www.nuget.org/packages/GraphQL.NewtonsoftJson) |\n| GraphQL.MemoryCache    | [![Nuget](https://img.shields.io/nuget/dt/GraphQL.MemoryCache)](https://www.nuget.org/packages/GraphQL.MemoryCache)       | [![Nuget](https://img.shields.io/nuget/v/GraphQL.MemoryCache)](https://www.nuget.org/packages/GraphQL.MemoryCache)       |\n| GraphQL.DataLoader     | [![Nuget](https://img.shields.io/nuget/dt/GraphQL.DataLoader)](https://www.nuget.org/packages/GraphQL.DataLoader)         | [![Nuget](https://img.shields.io/nuget/v/GraphQL.DataLoader)](https://www.nuget.org/packages/GraphQL.DataLoader)         |\n| GraphQL.MicrosoftDI    | [![Nuget](https://img.shields.io/nuget/dt/GraphQL.MicrosoftDI)](https://www.nuget.org/packages/GraphQL.MicrosoftDI)       | [![Nuget](https://img.shields.io/nuget/v/GraphQL.MicrosoftDI)](https://www.nuget.org/packages/GraphQL.MicrosoftDI)       |\n\nYou can get all preview versions from [GitHub Packages](https://github.com/orgs/graphql-dotnet/packages?repo_name=graphql-dotnet).\nNote that GitHub requires authentication to consume the feed. See [here](https://docs.github.com/en/free-pro-team@latest/packages/publishing-and-managing-packages/about-github-packages#authenticating-to-github-packages).\n\n## Documentation\n\n1. http://graphql-dotnet.github.io - documentation site that is built from the [docs](/docs2/site/) folder in the `master` branch.\n2. https://graphql.org/learn - learn about GraphQL, how it works, and how to use it.\n\n## Debugging\n\nAll packages generated from this repository come with embedded pdb and support [Source Link](https://github.com/dotnet/sourcelink).\nIf you are having difficulty understanding how the code works or have encountered an error, then it is just enough to enable\nSource Link in your IDE settings. Then you can debug GraphQL.NET source code as if it were part of your project.\n\n## Installation\n\n#### 1. GraphQL.NET engine\n\nThis is the main package, the heart of the repository in which you can find all the necessary classes\nfor GraphQL request processing.\n\n```\n\u003e dotnet add package GraphQL\n```\n\n#### 2. Serialization\n\nFor serialized results, you'll need an `IGraphQLSerializer` implementation.\nWe provide several serializers (or you can bring your own).\n\n```\n\u003e dotnet add package GraphQL.SystemTextJson\n\u003e dotnet add package GraphQL.NewtonsoftJson\n```\n\n\u003e *Note: You can use `GraphQL.NewtonsoftJson` with .NET Core 3+, just be aware it lacks async writing \n\u003e capabilities so writing to an ASP.NET Core 3.0 `HttpResponse.Body` will require you to set \n\u003e `AllowSynchronousIO` to `true` as per [this announcement](https://github.com/aspnet/Announcements/issues/342);\n\u003e which isn't recommended.*\n\n#### 3. Document Caching\n\nThe recommended way to setup caching layer (for caching of parsed GraphQL documents) is to\ninherit from `IConfigureExecution` interface and register your class as its implementation.\nWe provide in-memory implementation on top of `Microsoft.Extensions.Caching.Memory` package.\n\n```\n\u003e dotnet add package GraphQL.MemoryCache\n```\n\nFor more information see [Document Caching](https://graphql-dotnet.github.io/docs/guides/document-caching).\n\n#### 4. DataLoader\n\nDataLoader is a generic utility to be used as part of your application's data fetching layer\nto provide a simplified and consistent API over various remote data sources such as databases\nor web services via batching and caching.\n\n```\n\u003e dotnet add package GraphQL.DataLoader\n```\n\nFor more information see [DataLoader](https://graphql-dotnet.github.io/docs/guides/dataloader).\n\n\u003e *Note: Prior to version 4, the contents of this package was part of the main GraphQL.NET package.*\n\n#### 5. Subscriptions\n\n`DocumentExecuter` can handle subscriptions as well as queries and mutations.\nFor more information see [Subscriptions](https://graphql-dotnet.github.io/docs/getting-started/subscriptions).\n\n#### 6. Dependency Injection\n\nTo easily configure GraphQL.NET with the Microsoft dependency injection provider,\nyou can use the `GraphQL.MicrosoftDI` package. This package provides a `AddGraphQL`\nextension method to register the necessary services. This package can also be used with\nother dependency injection providers that support the `Microsoft.Extensions.DependencyInjection`\nabstraction such as Autofac, Castle Windsor, and StructureMap.\n\n```\n\u003e dotnet add package GraphQL.MicrosoftDI\n```\n\nYou can then configure GraphQL.NET in your `Startup.cs` file like this:\n\n```csharp\npublic void ConfigureServices(IServiceCollection services)\n{\n    services.AddGraphQL(b =\u003e b\n        .AddSchema\u003cMySchema\u003e()\n        .AddSystemTextJson()\n        .AddDataLoader()\n    );\n}\n```\n\nFor more information see [Dependency Injection](https://graphql-dotnet.github.io/docs/getting-started/dependency-injection/).\n\n## Examples\n\n| Project / Repository        | Description                                                                                                            |\n|-----------------------------|------------------------------------------------------------------------------------------------------------------------|\n| [GraphQL.Net](https://github.com/graphql-dotnet/graphql-dotnet/tree/master/samples)                  | Sample projects focused on showcasing features of the core GraphQL library, an implementation of the GraphQL specification.           |\n| [GraphQL.Net Server](https://github.com/graphql-dotnet/server/tree/master/samples)                   | Sample projects highlighting features of the server package, including utilities for integrating a GraphQL server with .NET Web APIs. |\n| [Examples](https://github.com/graphql-dotnet/examples/tree/master/src)                               | Community-provided examples. These may not represent officially supported patterns but show how others use the library.               |\n| [GraphQL.Net Client](https://github.com/graphql-dotnet/graphql-client/tree/master/examples)          | Example implementations for the GraphQL client library.                                                                               |\n\nYou can also try an example of GraphQL demo server inside this repo - [GraphQL.Harness](samples/GraphQL.Harness/GraphQL.Harness.csproj).\nIt supports the popular IDEs for managing GraphQL requests and exploring GraphQL schema:\n- [Altair](https://github.com/imolorhe/altair)\n- [Firecamp](https://firecamp.io/graphql/)\n- [GraphiQL](https://github.com/graphql/graphiql)\n- [GraphQL Playground](https://github.com/prisma-labs/graphql-playground)\n- [Voyager](https://github.com/APIs-guru/graphql-voyager)\n\n## Ahead-of-time compilation\n\nGraphQL.NET supports ahead-of-time (AOT) compilation for execution of code-first schemas with .NET 7+. This allows\nfor use within iOS and Android apps, as well as other environments where such features as JIT compilation or\ndynamic code generation are not available. It may be necessary to explicitly instruct the AOT compiler\nto include the .NET types necessary for your schema to operate correctly. Of particular note, your query,\nmutation and subscription types' constructors may be trimmed; register them in your DI engine to prevent this.\nAlso, `Field(x =\u003e x.MyField)` for enumeration values will require manually adding a mapping reference via\n`RegisterTypeMapping\u003cMyEnum, EnumerationGraphType\u003cMyEnum\u003e\u003e()`. Please see the `GraphQL.AotCompilationSample` for a simple\ndemonstration of AOT compilation. Schema-first and type-first schemas have additional limtations and configuration requirements.\nAOT compilation has not been tested with frameworks other than .NET 7+ on Windows and Linux (e.g. Xamarin).\n\n## Training\n\n* [API Development in .NET with GraphQL](https://www.lynda.com/NET-tutorials/API-Development-NET-GraphQL/664823-2.html) - [Glenn Block](https://twitter.com/gblock) demonstrates how to use the GraphQL.NET framework to build a fully functional GraphQL endpoint.\n* [Building GraphQL APIs with ASP.NET Core](https://app.pluralsight.com/library/courses/building-graphql-apis-aspdotnet-core/table-of-contents) by [Roland Guijt](https://github.com/RolandGuijt)\n\n## Upgrade Guides\n\nYou can see the changes in public APIs using [fuget.org](https://www.fuget.org/packages/GraphQL/8.2.1/lib/netstandard2.1/diff/7.9.0/).\n\n* [7.x to 8.x](https://graphql-dotnet.github.io/docs/migrations/migration8)\n* [5.x to 7.x](https://graphql-dotnet.github.io/docs/migrations/migration7)\n* [4.x to 5.x](https://graphql-dotnet.github.io/docs/migrations/migration5)\n* [3.x to 4.x](https://graphql-dotnet.github.io/docs/migrations/migration4)\n* [2.4.x to 3.x](https://graphql-dotnet.github.io/docs/migrations/migration3)\n* [0.17.x to 2.x](https://graphql-dotnet.github.io/docs/migrations/migration2)\n* [0.11.0](https://graphql-dotnet.github.io/docs/migrations/v0_11_0)\n* [0.8.0](https://graphql-dotnet.github.io/docs/migrations/v0_8_0)\n\n## Basic Usage\n\nDefine your schema with a top level query object then execute that query.\n\nFully-featured examples can be found [here](https://github.com/graphql-dotnet/examples).\n\n### Hello World\n\n```csharp\nusing System;\nusing System.Threading.Tasks;\nusing GraphQL;\nusing GraphQL.Types;\nusing GraphQL.SystemTextJson; // First add PackageReference to GraphQL.SystemTextJson\n\nvar schema = Schema.For(@\"\n  type Query {\n    hello: String\n  }\n\");\n\nvar root = new { Hello = \"Hello World!\" };\nvar json = await schema.ExecuteAsync(_ =\u003e\n{\n  _.Query = \"{ hello }\";\n  _.Root = root;\n});\n\nConsole.WriteLine(json);\n```\n\n### Schema First Approach\n\nThis example uses the [GraphQL schema language](https://graphql.org/learn/schema/#type-language).\nSee the [documentation](https://graphql-dotnet.github.io/docs/getting-started/introduction) for\nmore examples and information.\n\n```csharp\npublic class Droid\n{\n  public string Id { get; set; }\n  public string Name { get; set; }\n}\n\npublic class Query\n{\n  [GraphQLMetadata(\"droid\")]\n  public Droid GetDroid()\n  {\n    return new Droid { Id = \"123\", Name = \"R2-D2\" };\n  }\n}\n\nvar schema = Schema.For(@\"\n  type Droid {\n    id: ID\n    name: String\n  }\n\n  type Query {\n    droid: Droid\n  }\n\", _ =\u003e {\n    _.Types.Include\u003cQuery\u003e();\n});\n\nvar json = await schema.ExecuteAsync(_ =\u003e\n{\n  _.Query = \"{ droid { id name } }\";\n});\n```\n\n### Parameters\n\n```csharp\npublic class Droid\n{\n  public string Id { get; set; }\n  public string Name { get; set; }\n}\n\npublic class Query\n{\n  private List\u003cDroid\u003e _droids = new List\u003cDroid\u003e\n  {\n    new Droid { Id = \"123\", Name = \"R2-D2\" }\n  };\n\n  [GraphQLMetadata(\"droid\")]\n  public Droid GetDroid(string id)\n  {\n    return _droids.FirstOrDefault(x =\u003e x.Id == id);\n  }\n}\n\nvar schema = Schema.For(@\"\n  type Droid {\n    id: ID\n    name: String\n  }\n\n  type Query {\n    droid(id: ID): Droid\n  }\n\", _ =\u003e {\n    _.Types.Include\u003cQuery\u003e();\n});\n\nvar json = await schema.ExecuteAsync(_ =\u003e\n{\n  _.Query = $\"{{ droid(id: \\\"123\\\") {{ id name }} }}\";\n});\n```\n\n## Roadmap\n\n### Grammar / AST\n\n- Grammar and AST for the GraphQL language should be compatible with the [October 2021 specification](https://spec.graphql.org/October2021/).\n\n### Operation Execution\n\n- [x] Scalars\n- [x] Objects\n- [x] Lists of objects/interfaces\n- [x] Interfaces\n- [x] Unions\n- [x] Arguments\n- [x] Variables\n- [x] Fragments\n- [x] Directives\n  - [x] Include\n  - [x] Skip\n  - [x] Custom\n- [x] Enumerations\n- [x] Input Objects\n- [x] Mutations\n- [x] Subscriptions\n- [x] Async execution\n\n### Validation\n\n- [x] Arguments of correct type\n- [x] Default values of correct type\n- [x] Fields on correct type\n- [x] Fragments on composite types\n- [x] Known argument names\n- [x] Known directives\n- [x] Known fragment names\n- [x] Known type names\n- [x] Lone anonymous operations\n- [x] No fragment cycles\n- [x] No undefined variables\n- [x] No unused fragments\n- [x] No unused variables\n- [x] Overlapping fields can be merged\n- [x] Possible fragment spreads\n- [x] Provide non-null arguments\n- [x] Scalar leafs\n- [x] Unique argument names\n- [x] Unique directives per location\n- [x] Unique fragment names\n- [x] Unique input field names\n- [x] Unique operation names\n- [x] Unique variable names\n- [x] Variables are input types\n- [x] Variables in allowed position\n- [x] Single root field\n\n### Schema Introspection\n\nGraphQL.NET supports introspection schema from [October 2021 spec](https://spec.graphql.org/October2021/#sec-Schema-Introspection)\nwith some additional experimental introspection [extensions](https://graphql-dotnet.github.io/docs/getting-started/directives#directives-and-introspection).\n\n## Publishing NuGet packages\n\nThe package publishing process is automated with [GitHub Actions](https://github.com/features/actions).\n\nAfter your PR is merged into `master` or `develop`, preview packages are published to [GitHub Packages](https://github.com/orgs/graphql-dotnet/packages?repo_name=graphql-dotnet).\n\nStable versions of packages are published to NuGet when a [release](https://github.com/graphql-dotnet/graphql-dotnet/releases) is created.\n\n## Contributors\n\nThis project exists thanks to all the people who contribute. \n\u003ca href=\"https://github.com/graphql-dotnet/graphql-dotnet/graphs/contributors\"\u003e\u003cimg src=\"https://opencollective.com/graphql-net/contributors.svg?width=890\u0026button=false\" /\u003e\u003c/a\u003e\n\nPRs are welcome! Looking for something to work on? The list of [open issues](https://github.com/graphql-dotnet/graphql-dotnet/issues)\nis a great place to start. You can help the project simply respond to some of the [asked questions](https://github.com/graphql-dotnet/graphql-dotnet/issues?q=is%3Aissue+is%3Aopen+label%3Aquestion).\n\nThe default branch is `master`. It is designed for non-breaking changes, that is to publish versions 7.x.x.\nIf you have a PR with some breaking changes, then please target it to the `develop` branch that tracks changes for v8.0.0.\n\n## Backers\n\nThank you to all our backers! 🙏 [Become a backer](https://opencollective.com/graphql-net#backer).\n\nContributions are very much appreciated and are used to support the project primarily via [bounties](BOUNTY.md) paid directly to contributors to the project.\nPlease help us to express gratitude to those individuals who devote time and energy to contributing to this project by supporting their efforts in a tangible means.\nA list of the outstanding issues to which we are sponsoring via bounties can be found [here](https://github.com/graphql-dotnet/graphql-dotnet/issues?q=is%3Aopen+is%3Aissue+label%3Abounty).\n\n\u003ca href=\"https://opencollective.com/graphql-net#backers\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/graphql-net/backers.svg?width=890\"\u003e\u003c/a\u003e\n\n## Sponsors\n\nSupport this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor](https://opencollective.com/graphql-net#sponsor).\n\n\u003ca href=\"https://opencollective.com/graphql-net/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/graphql-net/sponsor/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/graphql-net/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/graphql-net/sponsor/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/graphql-net/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/graphql-net/sponsor/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/graphql-net/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/graphql-net/sponsor/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/graphql-net/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/graphql-net/sponsor/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/graphql-net/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/graphql-net/sponsor/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/graphql-net/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/graphql-net/sponsor/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/graphql-net/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/graphql-net/sponsor/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/graphql-net/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/graphql-net/sponsor/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/graphql-net/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/graphql-net/sponsor/9/avatar.svg\"\u003e\u003c/a\u003e\n","funding_links":["https://opencollective.com/graphql-net"],"categories":["Frameworks, Libraries and Tools","GraphQL","C\\#","Libraries","api","C# #","C#","框架, 库和工具","Implementations","graphql","API","Uncategorized","GraphQL [🔝](#readme)","🗒️ Cheatsheets"],"sub_categories":["API",".NET Libraries","API and RPC",".NET","Uncategorized","📦 Libraries"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphql-dotnet%2Fgraphql-dotnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgraphql-dotnet%2Fgraphql-dotnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphql-dotnet%2Fgraphql-dotnet/lists"}