A .NET GraphQL library that builds schemas from .NET objects with efficient LINQ-based query execution.
EntityGraphQL is a GraphQL library for .NET that enables developers to build GraphQL APIs by mapping GraphQL schemas directly to .NET objects. It solves the problem of inefficient data retrieval by compiling GraphQL queries into LINQ expressions, ensuring only requested fields are fetched, and works seamlessly with Entity Framework or any .NET object model.
.NET developers building GraphQL APIs, especially those using Entity Framework or other ORMs, and teams needing efficient query execution with support for multiple data sources.
Developers choose EntityGraphQL for its deep integration with .NET ecosystems, performance optimizations via LINQ projection, and flexibility to work with any data source, making it a robust alternative to other GraphQL implementations for .NET.
A GraphQL library for .NET
Compiles GraphQL queries to LINQ expressions that select only requested fields, reducing database load and data transfer, as shown in the Entity Framework examples.
Automatically maps GraphQL schemas to .NET objects like Entity Framework DbContext, enabling quick setup without rewriting existing data layers.
Extensible architecture allows combining multiple data sources into a single GraphQL schema, supporting unified APIs from disparate systems.
Provides EntityGraphQL.AspNet package with easy route mapping and authorization integration, simplifying ASP.NET Core deployments as per the quick start.
Lacks built-in support for GraphQL subscriptions or federation, limiting real-time capabilities compared to alternatives like Hot Chocolate.
Heavily reliant on .NET and LINQ, making it unsuitable for cross-platform projects or those using non-relational databases without .NET support.
EQL (Entity Query Language) introduces a non-standard syntax for filtering and calculations, adding learning curve and potential maintenance overhead.
GraphQL for .NET
Welcome to the home of the Hot Chocolate GraphQL server for .NET, the Strawberry Shake GraphQL client for .NET and Nitro the awesome Monaco based GraphQL IDE.
Convert GraphQL to IQueryable
C# GraphQL client with Linq-like syntax
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.