合并两个 EF 查询,无法将 System.Data.Entity.Infrastruct.DbQuery 类型的对象强制转换为 System.Collections.Generic.IEnumerable

2024-02-14

我有两个实体框架查询,每个查询返回两列,并且我想出于绑定原因连接或连接两个查询的结果,

我已经尝试过Concat方法,但它抛出:

无法转换类型的对象

'System.Data.Entity.Infrastructure.DbQuery`1[VB$AnonymousType_3`2[System.String,System.String]]'
 to type
 'System.Collections.Generic.IEnumerable`1[VB$AnonymousType_2`2[System.String,System.String]]

'.

这是我的代码:

   Dim r = (From PropertyDefinitions In econtext.PropertyDefinitions Join ProductPropertyValues In
            econtext.ProductPropertyValues On ProductPropertyValues.ProductPropDefID Equals PropertyDefinitions.PropertyDefID
            Join AdProductDefValues In econtext.AdProductDefValues
            On AdProductDefValues.PropValueID Equals ProductPropertyValues.ProductPropValueID
            Where AdProductDefValues.AdID = AdID
            Select PropertyDefinitions.PropertyDefName2, AdProductDefValues.DefValue2).Concat(From AdCustomProperties In econtext.AdCustomProperties
            Where AdCustomProperties.AdID = AdID
            Select AdCustomProperties.PropertyTitle2, AdCustomProperties.PropertyValue2)

            GridProperties.DataSource = r.ToArray()
            GridProperties.DataBind()

有什么想法可以结合两个查询的结果吗?


枚举不能串联,因为它们是不同的匿名类型,并且具有不同的属性名称。

一种解决方案是使类型匹配,例如你可以替换这部分:

Select PropertyDefinitions.PropertyDefName2, AdProductDefValues.DefValue2

有了这个

Select New With { .Name = PropertyDefinitions.PropertyDefName2, _
                  .Value = AdProductDefValues.DefValue2 }

同样:

Select New With { .Name = AdCustomProperties.PropertyTitle2, _
                  .Value = AdCustomProperties.PropertyValue2 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

合并两个 EF 查询,无法将 System.Data.Entity.Infrastruct.DbQuery 类型的对象强制转换为 System.Collections.Generic.IEnumerable 的相关文章

随机推荐

  • 使用 requirejs + uglify 限制行长度

    我们正在使用requirejs optimize config 在我们的构建脚本中使用 uglify2 来缩小我们的生产 JavaScript 代码 我们希望将缩小后的行长度限制为大约 80 个字符 这样即使在生产代码中也可以更轻松地调试
  • Angular 5 中 value 和 ngValue 的区别

    今天 我意识到 Angular 5 中的反应式表单出现了意外的 对我来说 行为 服务器从应用程序接收到一个值为 null 的字符串 而不是我想要的 null 值 我做了以下测试 https stackblitz com edit angul
  • 如何减少 androidx.compose.material3.OutlinedTextField 的高度

    我在降低高度时遇到困难OutlinedTextField在撰写中 我正在尝试在里面做一个搜索栏TopAppBar就像许多谷歌应用程序 Gmail Play Store 中所做的那样 我无法在材料3中实现这一点 我尝试复制OutlinedTe
  • Chrome扩展从内容脚本到后台html的sendMessage错误

    我刚刚将我的 chrome 扩展更新为 json 版本 2 并尝试让我的扩展再次工作 问题是 sendRequest 一路上被贬值了 所以我复制代码https developer chrome com extensions messagin
  • 确定 C 可执行文件名称

    当我们编译 C 程序时 输出存储在 a out 中 我们如何将编译后的输出重定向到另一个文件 大多数 C 编译器为此提供了一个选项 例如 o选项gcc和其他一些 gcc o gentext gentext c cc o mainprog L
  • 如何获取neo4j路径中的最后一个节点?

    在这个密码查询中 将返回与 STATUS on 属性有关系的节点之间的最长路径 但我还想获取路径的最后一个节点 query START n node MATCH p n rels INCLUDE gt m WHERE ALL rel IN
  • 具有负权重的 Dijkstra 算法

    我们可以使用具有负权重的 Dijkstra 算法吗 STOP 在你认为 哈哈 你可以在两点之间无休止地跳跃并获得一条无限便宜的路径 之前 我更倾向于考虑单向路径 其应用是具有点的山区地形 显然 从高到低并不需要能量 事实上 它会产生能量 因
  • Facebook 身份验证对话框:开发人员关于使用“显示”类型“弹出窗口”的警告

    从今天开始 我们在身份验证对话框中收到开发人员警告 其中包含以下消息 您在大型浏览器窗口或选项卡中使用 弹出窗口 显示类型 为了获得更好的用户体验 请使用我们的 JavaScript SDK 显示此对话框 而不指定显式显示类型 SDK 将为
  • Windows 上的 Data.ByteString.Lazy.Char8 换行符转换——文档是否具有误导性?

    我对字节串库中的 Data ByteString Lazy Char8 库有疑问 具体来说 我的问题涉及 readFile 函数 其记录如下 将整个文件延迟读取到 ByteString 中 在 Windows 上使用 文本模式 来解释换行符
  • 从动态元素获取动态Id

    我有带有动态 ID 的 div 元素 div div div div div div div div div div div div 所有元素id parent 除外 可由用户从输入字段进行编辑 因此 parent 的最后一个子级可能具有用
  • C. Break、Switch、If 中的愚蠢错误。 1990 年电话网络崩溃 [已关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我犹豫着要不要问这个问题 因为这看起
  • sed 创建重复行而不是替换现有行

    我有一个包含以下内容的文件 foo txt some text 0 我使用以下 sed 命令将 0 替换为 1 search text some text sed s search text 0 search text 1 i foo tx
  • 从我的网络服务缓存图像 url 的最佳方法?

    我已经实现了一个 ARC 格式的应用程序 但我想在库的缓存文件夹中缓存一些图像网址 任何想法 提前致谢 我希望它能帮助你 我用SDWeb图像 https github com rs SDWebImage与我的所有项目 using 添加您的视
  • 如何在 Selenium 中更改 Google Chrome 用户代理?

    我正在尝试找出一种方法 每当我在这个特定的脚本中通过 Selenium Python 打开 Chrome 时 Chrome 页面就会自动打开并选择另一个用户代理 在本例中为 Microsoft Edge Mobile 但我将从桌面访问它 因
  • YouTube API v3 上传速度

    我一直在使用 YouTube API v3 进行一些测试 使用以下命令上传 Apache 服务器 在 Virtuozzo 上运行 CENTOS 6 7 x86 64 的 VPS 2GB RAM 和大量 CPU 上现有的视频文件提供断点续传脚
  • 离线语音识别时出现错误 ERROR_RECOGNIZER_BUSY

    我对谷歌离线语音识别进行了研究 但它在 google Nexus 5 操作系统 4 4 中工作正常 但如果我在三星 Galaxy s5 操作系统 5 0 中实现相同的版本 它无法识别并且显示此错误 8 ERROR RECOGNIZER BU
  • 需要配置哪些信息才能连接对方的Kafka

    我在网上看到了keystore和truststore证书 有人说两者之一 有人说他们两者都需要 在我的业务中 我需要支持 SSL 和 PLAIN 模式 区分使用哪种模式的基础是传入 JSON 中的 security protocol 字段是
  • 如何将 int 转换为货币?

    我正在使用Delphi 2009 我问了我的问题 但我得到的答案已经过时了 因为它无法识别Delphi2009中的StrtoFloat 我问如何将整数 例如 1900000 转换为 1 900 000 您还可以使用格式命令 由于格式需要实数
  • 我的应用程序如何修改商店的模板文件

    安装应用程序时 我需要将液体标记注入商店的主题模板 我知道有 ScriptTags 但它们加载脚本 我知道脚本可以更改页面的 DOM 但我需要将我的液体安装到产品详细信息页面 是否可以 我会将您的 Liquid 添加为新的片段资产 然后 可
  • 合并两个 EF 查询,无法将 System.Data.Entity.Infrastruct.DbQuery 类型的对象强制转换为 System.Collections.Generic.IEnumerable

    我有两个实体框架查询 每个查询返回两列 并且我想出于绑定原因连接或连接两个查询的结果 我已经尝试过Concat方法 但它抛出 无法转换类型的对象 System Data Entity Infrastructure DbQuery 1 VB