gpt4 book ai didi

entity-framework - EF 核心 : Must be reducible node

转载 作者:行者123 更新时间:2023-12-04 08:28:34 25 4
gpt4 key购买 nike

我不确定为什么会收到错误消息:“必须是可简化节点”

这是我的查询。我正在使用 EF Core 2.2 运行 Core 2(所以我应该修复以前版本中发生的问题)

    IQueryable<Gizmo> gizmos = _context.Gizmo;


IQueryable<GizmoViewModel> dataReferences = (
gizmos.SelectMany(j => j.DataReferences.Select(r =>
new GizmoViewModel()
{
GizmoId = j.Id,
DataId = r.DataId
}
))
);

最佳答案

很简单(而且很遗憾),您遇到了当前的 EF Core 查询转换错误之一。

看起来是由于访问外部 SelectMany 引起的内部的 lambda 参数 Select表达。

解决方法是使用另一个 SelectMany重载具有带有外部和内部参数的第二个 lambda(我猜是 C# 编译器在转换 LINQ 查询语法时使用的):

IQueryable<GizmoViewModel> dataReferences = (
gizmos.SelectMany(j => j.DataReferences, (j, r) =>
new GizmoViewModel()
{
GizmoId = j.Id,
DataId = r.DataId
}
)
);

关于entity-framework - EF 核心 : Must be reducible node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53855595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com