无法翻译 LINQ 表达式

2024-04-08

我有一张桌子叫Orders和一个名为Customers. Orders有财产CustomerId。现在我想获取我的客户的所有订单Customers list.

这是我尝试过的:

IEnumerable<Customer> customers; // list of customers
List<Order> orders = dbContext.Orders.Where(x => customers.Any(y => y.Id == x.CustomerId)).Include(x => x.someOtherTable).ToList();

由于某种原因,这总是会导致异常,指出无法翻译 LINQ 表达式。我的假设是,这是因为 Order 中的 CustomerId 可为空。但我不确定。

Order:

public int Id { get; set; }
public int? CustomerId { get; set; } // has to be nullable
...

Customer:

public int Id { get; set; }
public string Name { get; set; } // has to be nullable
...

由于简单,这只是一小段。


不,原因是customers is IEnumerable, not IQueryable,因此 LINQ 无法将您的集合转换为 SQL 代码。

转换你的IEnumerable<Customer>到 ID 列表:

int[] ids = customers.Select(o => o.id).ToArray();

And Where with Contains:

List<Order> orders = dbContext.Orders.Where(x => ids.Contains(x.Id))
                                     .Include(x => x.someOtherTable).ToList();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法翻译 LINQ 表达式 的相关文章

  • c# 从另一个类中的另一个静态事件引发事件

    需要帮助从另一个班级调用事件 我有已声明事件的课程 public class MxPBaseGridView GridView public event AddNewItemsToPopUpMenuEventHandler AddNewIt
  • 异常堆栈跟踪不显示抛出异常的位置

    通常 当我抛出异常 捕获它并打印出堆栈跟踪时 我会看到抛出异常的调用 导致该异常的调用 导致该异常的调用that 依此类推回到整个程序的根 现在它只向我显示异常所在的调用caught 而不是它所在的地方thrown 我不明白是什么改变导致了
  • 如果 JSON.NET 中的值为 null 或空格,则防止序列化

    我有一个对象需要以这样的方式序列化 即 null 和 空白 空或只是空格 值都不会序列化 我不控制对象本身 因此无法设置属性 但我知道所有属性都是字符串 环境NullValueHandling显然 忽略 只能让我找到解决方案的一部分 它 似
  • 司机和提供商之间的区别

    数据库中的驱动程序和提供程序有什么区别 有没有解释一下 不胜感激 样本 ADO NET driver for MySQL vs providerName System Data EntityClient 来自 MSDN 论坛 驱动程序是安装
  • 将设置函数(setter)标记为 constexpr 的目的是什么? [复制]

    这个问题在这里已经有答案了 我无法理解将 setter 函数标记为的目的constexpr 自 C 14 起这是允许的 我的误解来自以下情况 我使用 constexpr c tor 声明一个类 并且我将通过创建该类的 constexpr 实
  • 如何以编程方式播放 16 位 pcm 数组 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个包含 16 位 pcm 值的短 数组 我希望能够在不添加任何标题 也不将任何文件保存到内存的情况下播放它 我知道我可能需要一个提供
  • 将下拉列表与字典绑定

    我将字典绑定到下拉列表 举例来说 我的字典中有以下项目 Test1 123 Test2 321 我希望下拉文本采用以下格式 Test1 Count 123 Test2 Count 321 我沿着以下路径走 但没有运气 MyDropDown
  • 全局使用和 .NET Standard 2.0

    我最近意识到我可以使用 C 10 功能文件范围的命名空间在 NET Standard 2 0 项目中也可以通过设置
  • C++ 将联合强制转换为其成员类型之一

    以下对我来说似乎完全符合逻辑 但不是有效的 C 联合不能隐式转换为其成员类型之一 有人知道为什么不这样做的充分理由吗 union u int i char c function f int i int main u v v i 6 f v
  • 为什么需要数字后缀?

    C 语言 我确信还有其他语言 需要在数字文字末尾添加后缀 这些后缀指示文字的类型 例如 5m是一个小数 5f是一个浮点数 我的问题是 这些后缀真的有必要吗 或者是否可以从上下文中推断出文字的类型 例如 代码decimal d 5 0应该推断
  • C# 编译器数字文字

    有谁知道 C 编译器数字文字修饰符的完整列表 默认情况下 声明 0 使其成为 Int32 声明 0 0 使其成为 Double 我可以在末尾使用文字修饰符 f 来确保某些内容被视为 Single 例如像这样 var x 0 x is Int
  • 在 C# 中何时使用 ArrayList 而不是 array[]?

    我经常使用一个ArrayList而不是 正常 array 当我使用时 我感觉好像我在作弊 或懒惰 ArrayList 什么时候可以使用ArrayList在数组上 数组是强类型的 并且可以很好地用作参数 如果您知道集合的长度并且它是固定的 则
  • 时间:2019-03-17 标签:c++fstream并发访问

    如果从不同的进程 线程同时访问文件会发生什么 据我所知 没有锁定文件的标准方法 只有操作系统特定的功能 就我而言 文件将被经常读取而很少写入 现在如果A打开一个文件进行读取 ifstream 并开始读取块 和B打开相同的文件进行写入 ofs
  • C# 中的 C/C++ 代码编译器

    在 C 中 我可以使用下面的代码编译 VB 和 C 代码 但无法编译 C C 代码 有什么办法可以做到这一点吗 C 编译器 public void Compile string ToCompile string Result null st
  • 浮点字节序?

    我正在为实时海上模拟器编写客户端和服务器 并且由于我必须通过套接字发送大量数据 因此我使用二进制数据来最大化可以发送的数据量 我已经了解整数字节顺序以及如何使用htonl and ntohl为了规避字节顺序问题 但我的应用程序与几乎所有模拟
  • Autoconf 问题:“错误:C 编译器无法创建可执行文件”

    我正在尝试使用 GNU 自动工具构建一个用 C 编写的程序 但显然我设置错误 因为当configure运行 它吐出 configure error C compiler cannot create executables 如果我看进去con
  • Linq.Select() 中的嵌套表达式方法调用

    I use Select i gt new T 每次手动点击数据库后将我的实体对象转换为 DTO 对象 以下是一些示例实体和 DTOS 用户实体 public partial class User public int Id get set
  • Xamarin.Forms UWP 项目中标题栏和选项卡之间令人恼火的空白

    我几乎是新手Xamarin Forms我正在开发一个相当简单的跨平台应用程序 该应用程序在 Android 中显示得足够好 但在 UWP 中却出现了一个愚蠢的空白 该项目由一个 TabbedPage 组成 其中包含 4 个 Navigati
  • 无法识别解决方案文件夹中的 Visual Studio 2017 Nuget.config

    我在使用 Visual Studio 2017 时遇到问题 新的解决方案不断引用 C Users yopa AppData Roaming NuGet Nuget config 中意外位置的 Nuget config 文件 我已将 nuge
  • 如何在c linux中收听特定接口上的广播?

    我目前可以通过执行以下操作来收听我编写的简单广播服务器 仅广播 hello int fd socket PF INET SOCK DGRAM 0 struct sockaddr in addr memset addr 0 sizeof ad

随机推荐

  • 解析树和语法信息

    有谁知道在哪里可以找到好的在线资源以及如何制作语法和解析树的示例 最好是介绍材料 信息是 n00b 友好的 我自己在 Google 上没有找到任何好的信息 Edit 我正在考虑理论 而不是特定的解析器软件 网上没有 不过也许你应该看看编译器
  • 如何向 XAML 窗口添加多个资源?

    我现在有一个小问题 我不知道如何解决 我想向一个窗口添加两个资源 一个是 XAML 文件样式资源 另一个是 ValueConverter 类 如果我一次只使用一种资源 它们都会起作用
  • 使用 g-signin 按钮,G+ 登录立即将我注销 3 次

    我在 HEAD 中的代码是
  • 将 python 日志记录与 AWS Lambda 结合使用

    正如 AWS 文档所示 import logging logger logging getLogger logger setLevel logging INFO def my logging handler event context lo
  • 如何导入更高一级的模块?

    For app init py abc py mod init py def py 如何从 def py 导入 abc py 导入当前模块父目录中的模块 abc py import os parentdir os path dirname
  • 鼠标移动时放大图像:到达所有角落

    我正在研究缩放功能 此缩放是一个具有 100 窗口大小的固定框 并且位于具有 200 固定框宽度的图像内部 这个缩放需要像这样工作 当光标位于窗口中央时 图像应位于中央 当光标位于右上角时 图像应停留在窗口的右上角 因此可以通过角到达图像
  • 套接字如何既可以连接又可以关闭?

    我正在使用 Java 套接字客户端 如果服务器仍然连接到我的客户端 但它没有发送对我的消息的响应 我最终会收到读取超时异常 在这种情况下 我想测试一下是否应该重新连接我的套接字 或者只是保留它并重新使用它 我使用这个条件 if socket
  • .htc 文件在旧版 IE 中是否是像 CSS3 那样的圆角的良好做法?

    我正在尝试使用 CSS3 制作带有圆角的简单 html 按钮 但对于 IE 我使用 htc 文件作为圆曲线 使用 htc 文件是好习惯还是坏习惯 我无法判断使用这个 html 文件 我的另一个担心是渐进增强是否允许使用 htc 文件 还请告
  • 用python计算时间序列数据的概率分布

    我有一个关于概率分布函数的问题我有一个时间序列数据 我想计算不同时间窗口内数据的概率分布 我开发了以下代码 但我找不到该函数的概率分布值 a pd DataFrame 0 0 21 660332407421638 20 5642894358
  • 如何在 RHEL 虚拟机上运行 minikube?

    有没有办法在 RHEL VM 虚拟机管理程序 上运行 Kubernetes minikube 或者还有其他方法可以使用单个虚拟机尝试 Kubernetes 吗 要在 RHEL CentOS VM 上运行 minikube 您需要在安装 mi
  • 在 CodeRush 中查找键绑定定义

    如果我部署了社区插件并在 CodeRush 中设置了键绑定 那么我现在如何找到我在选项对话框 树层次结构中归档它的位置 打开 CodeRush 选项屏幕 选择DevExpress 选项从菜单或点击Ctrl Shift Alt O 然后找到I
  • 尝试从私有实例调用模板方法时出现编译器错误[重复]

    这个问题在这里已经有答案了 如果您已经知道答案 这个问题只是另一个问题的重复 请注意我的后续问题 如果存在同名的不相关的全局模板函数 为什么不需要模板关键字 https stackoverflow com questions 2389249
  • 正则表达式失败时非常慢

    我有一个正则表达式 应该验证字符串是否由空格分隔的字符串组成 正则表达式工作得很好 好吧 它最后允许有一个空格 但这不是他的问题 但是当验证失败时需要很长时间 正则表达式如下 w 0 当尝试使用字符串进行验证时 this is SAMPLE
  • Rest 服务抛出异常:最佳处理方法

    我有一个休息服务 它会抛出异常 我想知道处理这个问题的最佳方法是什么 所以我有一个休息服务 它可以抛出用户定义的异常 我在 catch 块内捕获该异常并再次抛出该异常 并使用休息框架来捕捉这一点 对于非用户定义的异常也是如此 我认为这会很好
  • 为什么在 Java 中两个整数相除会返回 0.0? [复制]

    这个问题在这里已经有答案了 int totalOptCount 500 int totalRespCount 1500 float percentage float totalOptCount totalRespCount 为什么它总是返回
  • 如何向 UIAlertController 添加进度条?

    我想在 swift iOS 8 UIAlertController 中添加进度条 这可能吗 有没有办法继承 UIAlertController 并添加进度条并连接一些委托函数 thanks 如果您只需要一个进度条 只需将其添加为子视图 如下
  • 检查@@rowcount函数来确定行是否存在可以吗?

    我正在浏览我们的代码库并看到很多这样的测试 declare row id int declare row attribute string select row attribute ROW ATTRIBUTE from SOME TABLE
  • isset() 和empty() - 使用什么

    你能帮助我改进我的编码风格吗 在某些任务中我需要检查 变量是否为空或包含某些内容 为了解决这个任务 我通常会执行以下操作 检查 该变量是否已设置 如果它已设置 我检查 它是否为空 我有一个问题 我应该在empty 之前使用isset 有必要
  • 错误:org.apache.hadoop.hbase.MasterNotRunningException:null+hbase+hadoop

    我最近用两台机器 在ubuntu上 配置了hadoop集群 到目前为止效果很好 但是当我尝试在上面的 hadoop 集群上配置 hbase 时 它 显示错误 这就是我所做的 我有两台机器 192 168 1 110 Hadoop主站 192
  • 无法翻译 LINQ 表达式

    我有一张桌子叫Orders和一个名为Customers Orders有财产CustomerId 现在我想获取我的客户的所有订单Customers list 这是我尝试过的 IEnumerable