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