graphql-dotnet VS graphql-net - 哪个库对于从DB获取/写入数据非常有用

时间:2018-03-22 05:44:17

标签: graphql github-graphql

我想将GraphQL集成到我现有的ASP.NET Framework(带有Entity Framework 4)应用程序中,该应用程序有一个MSSQL Server作为后端。

在浏览.NET的GraphQL库时,我发现了2个库 - graphql-dotnet graphql-net ,在GraphQL网站上建议(链接:{{ 3}})

似乎(如果我错了,请纠正我):

  1. graphql-dotnet http://graphql.org/code/#c-net) - 此库仅支持内存数据
  2. graphql-net https://github.com/graphql-dotnet/graphql-dotnet) - 如果我们想处理已存储在数据库中的数据,此库可以正常工作。
  3. 有任何建议或更正吗?是否可以使用以前的(即graphql-dotnet)库对DB执行读/写操作? 或者我应该使用 graphql-net 库吗?

2 个答案:

答案 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文件)。已经实现的主要功能包括:排序,分页和复杂过滤器。