将Graphql转换为SQL?

use*_*567 13 c# sql-server graphql

我们有现有的SQL Server数据库,我们正在使用C#.让我们说我们的移动客户端向服务器发送graphql.如何转换此SQL,以便我的客户端获得他期望的数据?

Ale*_*son 15

GraphQL和SQL虽然听起来很相似,但却解决了不同的问题.SQL用于直接查询数据库.GraphQL用于查询任何类型的数据源,例如数据库(通过SQL或客户端库),API和静态文件.GraphQL可以与REST或ad-hoc API端点进行比较.

一种解决方案是自己创建GraphQL实现.GraphQL.org有很多关于如何实现和使用GraphQL服务器的很好的信息.如果这工作太多,你可以放弃这个项目:GraphQL .NET

还要考虑查看其他GraphQL实现,例如ApolloStack.如果您可以将GraphQL服务器与.NET服务器分开,则可以使用ApolloStack或其他Javascript GraphQL服务器来托管数据.

  • 亚历克斯这个问题很简单.如果客户端以graphql格式向我发送数据,如何获取我的数据已经在我的SQL SERVER数据库中.这有可能吗? (5认同)
  • Node.js在GraphQL生态系统中拥有更多的库,因此构建Node服务将为您提供更多选择。[Join Monster](https://github.com/stems/join-monster)是一个尝试根据给定的GraphQL请求和架构定义生成SQL查询的库。 (2认同)

Aja*_*ung 6

我建议您考虑实现由
Andy Carlson 编写的Join Monster存储库的C#版本. https://github.com/stems/join-monster

它尝试将客户端提供的GraphQL查询转换为最有效的SQL查询.它目前不支持多对多关系或联合类型(多态关联),但这些目标是存储库路线图的一部分.

  • 谢谢你的提及!加入Monster确实支持多对多关系.您可以从中获得的数据是有限的,但目前正在进行中. (2认同)