0

我正在使用 .net 5 和 HotChocolate。我有一个调用,它没有为具有 DateTime 类型的任何字段返回任何值?,但适用于 DateTime。SQL 中的所有字段都具有相同的属性类型。同样的调用曾经有效,所以不确定发生了什么。我搜索了 Slack 和 GitHub,但没有找到任何东西。看起来有一个在 11.1 中修复的DateTime 问题。这似乎不是同一个问题,但无论如何我升级了。有任何想法吗?

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

1

好久不见

我不确定这是否是 HotChocolate 问题,但让我们找出答案。

您链接的问题确实是 V11.1 中的更改,但是查看您的屏幕截图,后端似乎已经缺少数据。所以我不认为是这个。在您的调试器停止时,HotChocolate 还没有做太多事情。

我注意到的一件事是解析器的结构。这些中间件是顺序敏感的。这意味着,如果它们的顺序错误,它们可能无法正常工作。我猜你在解析器链的末尾添加了一个 ToListAsync() ,因为你会得到一个 DB Context Disposed 异常。正确的顺序是UseDbContext(typeof(DbContext))=> UsePaging => UseProjection => UseSorting => UseFitlering

那么你的解析器可能只是

public IQueryable<AVO> GetAVO([ScopedContext]KvoDbContext cox)=> ctx.AVOs

如果您“执行”解析器中已经存在的查询(例如 with ToListAsync()),则过滤、排序、分页等将应用到内存中,并且投影不会产生影响。

希望这可以帮助。无论哪种方式,如果您无法弄清楚,请创建问题的副本并在回购中打开一个问题,以便我们检查行为。

注意安全!

于 2021-04-01T08:13:48.757 回答