c# - 将 GraphQL 查询映射到 Select() linq 到 sql

标签 c# .net-core linq-to-sql graphql azure-cosmosdb

我正在使用 GraphQL 构建带有 .NET 核心的 Web API和 DocumentDb .

理论上,GraphQL优化数据通过网络传输,从而避免过度获取数据。但是我认识到后端服务器和数据库在查询数据库时正在做额外的不必要的工作(查询整个文档)。

这里最好的策略是使用 Select()到我们需要获取的特定属性。但我不知道如何从如此复杂的客户查询中构建表达式。

任何帮助真的很感激。

谢谢

最佳答案

对于 SQL 表达式,如果我们想查询 jedis 并且我们想要列名和边,我们可以使用如下脚本:

SELECT name, side
FROM jedis;

让我们用我们的查询更新代码,如下所示:
var json = schema.Execute(_ =>
{
    _.Query = "{ jedis { name, side } }";
});

Console.WriteLine(json);

结果是:
enter image description here

更多详情可以引用这个article而这个 one .

关于c# - 将 GraphQL 查询映射到 Select() linq 到 sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62423228/

相关文章:

c# - Autofac:注册组件并根据解析父解析

c# - Winforms C# Outlook 样式日历

c# - 为什么我可以设置私有(private)设置属性的属性?

c# - 删除查询中的重复代码

c# - LINQ-SQL 在单个事务中更新多行

c# - NHibernate 中 Rebus 和事件监听器的领域事件

c# - 如何在 Windows 窗体面板控件中使用 WPF 控件?

c# - 避免构造函数映射字段

docker - 有没有更优雅的方法可以使用 Docker COPY 将特定文件复制到工作目录?

linq-to-sql - LINQ 基于列表的多个 LIKE