如何在 EF Core 的 Hot Chocolate 中打开和关闭包含

How can you switch includes on and off in Hotchocolate for EFCore

所以我试图弄清楚如何根据来自客户端的 GraphQl 请求是否实际包含相关对象来告诉 EfCore 何时将包含应用于 IQueryable 对象。

示例:

我想做的是:

    var baseQuery = db.People;
        if (graphqlRequestIncludePayments)
        {
            baseQuery.Include(p => p.Payments);
        }
    return baseQuery;

但我不知道如何检查 GraphQl 查询以查看是否请求付款。我知道 GraphQl 会在返回给消费者之前删除多余的数据,但这可能会浪费服务器端的大量带宽和内存。

我觉得在 Hotchocolate ObjectType.Configure 函数中有一种方法可以做到这一点,但我看不到如何实现。

任何帮助将不胜感激,谢谢:)

Tobias Tengler 是正确的,这应该通过投影来完成