我想将GraphQL集成到我现有的ASP.NET Framework(带有Entity Framework 4)应用程序中,该应用程序有一个MSSQL Server作为后端。
在浏览.NET的GraphQL库时,我发现了2个库 - graphql-dotnet 和 graphql-net ,在GraphQL网站上建议(链接:{{ 3}})
似乎(如果我错了,请纠正我):
有任何建议或更正吗?是否可以使用以前的(即graphql-dotnet)库对DB执行读/写操作? 或者我应该使用 graphql-net 库吗?
答案 0 :(得分:4)
我是“热巧克力”的贡献者之一。
您可以使用此处提到的两个框架。
GraphQL-net更专注于在IQueryable上构建GraphQL模式。
我想说GraphQL-dotnet是这两种解决方案中最好的一种。
有些集成支持将实体框架映射到GraphQL-dotnet,它们还提供了对DataLoader的支持,这对于解决使用GraphQL从后端加载数据时解决N + 1问题非常重要。
Hot Chocolate是为.Net Core和.Net Framework(也列在graphql.org上)实现GraphQL堆栈的第三个框架。
它还支持 DataLoader ,我们在这里有一个mongo db的示例。希望对您有所帮助: https://github.com/ChilliCream/hotchocolate-examples/tree/master/DataLoader
答案 1 :(得分:0)
好吧,在我们的项目中,我们决定使用graphql-dotnet lib从API服务和共享点列表中获取数据-因此,它有点像一种WebAPI服务的代理。现在我们已经投入生产,并且可以很好地运行并且具有良好的性能(从共享点列表中获取数据除外,但这是SharePoint的问题-不是graphql-dotnet lib)。
btw,lib本身比graphql-net更稳定,并且有很多积极的贡献。
我们决定使用graphql-dotnet lib的另一个项目或组件,也已经发布。该组件允许您连接到数据库并轻松配置GraphQL方案(通过json文件)。已经实现的主要功能包括:排序,分页和复杂过滤器。