Linq To Entities 将值与 List 进行比较

2023-12-13

我在用实体框架5.0,并且我在 LINQ 查询方面遇到问题。我有以下方法,它接受一个整数值,然后将其传递到查询中。这很好用。

public IList<tblcoursebooking> GetStandardReport(int AttendanceID)
{
    return _UoW.tblcoursebookingRepo.All
           .Where(cb => cb.Attended.Equals(AttendanceID)
           .ToList();

} 

但是,我需要更改方法以使其接受整数列表,然后取出所有记录Attended等于任何整数列表。像这样的东西

public IList<tblcoursebooking> GetStandardReport(List<int> AttendanceIDs)
{
    return _UoW.tblcoursebookingRepo.All
           .Where(cb => cb.Attended.Equals == any AttendanceIDs
           .ToList();
} 

我想尝试并使用Contains or Any然而,LINQ 关键字为Attended是单个值,而不是集合,点后唯一可用的属性是

相比于, 等于, 获取哈希码, 获取类型, 获取类型代码, 转字符串

有人可以帮忙吗?

谢谢你的时间。


Use the Contains函数,它将根据给定列表匹配每个 ID:

return _UoW.tblcoursebookingRepo.All
       .Where(cb => AttendanceIDs.Contains(cb.Attended))
       .ToList();

一般来说,请记住,Where 子句只不过是一个带有嵌套 if 语句的花哨的 foreach(不过,这是一个非常花哨的语句)。它需要一个计算结果为布尔值的表达式。如果您只需要检查一项,而不使用 LinQ,您很快就会想出如下结果:

if(AttendanceIDs.Contains(myItem.Attended))

您可以以完全相同的方式处理 LinQ 的Where 子句,如上所示:) 如果您感到困惑,只需考虑一下如何检查一次,因为 LinQ 将为您完成迭代部分。

Update

正如费萨尔的回答中提到的,WhereIn提供类似的功能。还没用过,但似乎是一种更简洁的方法。

不过,我不会改变我的答案,因为我觉得更重要的是指出如何在Where条款,这也应该有助于解决您将来可能遇到的所有类似问题WhereIn将不相关。

但尽管如此,你也可以使用WhereIn在这种特殊情况下:-)

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

Linq To Entities 将值与 List 进行比较 的相关文章

随机推荐

  • Codeigniter 2.1.3 的 SMTP Gmail 错误

    我看过很多与此问题相关的帖子 我已经完成了给出的说明 但总是遇到相同的错误 我想使用 Code Igniter 2 1 3 发送 smtp gmail 这是代码 class Email extends CI Controller funct
  • 使用 SSIS 压缩文件夹

    我正在尝试压缩 SSIS 中的一个文件夹 源文件夹中有 12 个文件 我需要压缩该文件夹 我可以很好地压缩文件 我的问题是文件夹 我必须使用 winzip 来创建压缩包 谁能给我指点一个好的教程 我无法实现我找到的任何示例 Thanks 添
  • 将字典拆分为 df 中的各个列[重复]

    这个问题在这里已经有答案了 我有以下内容df其值是字典 tests SO4 Mon 6 Tues 6 Wed 7 CH3 Mon 0 Tues 8 Wed 10 我想获得所需的输出 0 1 2 SO4 Mon 6 Tues 6 Wed 7
  • Android:如何根据首先选择的单选按钮启用/禁用复选框

    基本上我有一个带有两个单选按钮的单选组 其中一个标记为 运行 另一个标记为 通过 就在其下方 我还有一个标记为 通过完成 的复选框 问题 如何在选择 运行 单选按钮时禁用该复选框 因此无法选择该复选框 并在选择 通过 单选按钮时启用它 任何
  • 无法将数组项传递给 PhantomJS 中的函数

    我正在尝试将源代码同时提取到多个网页 这些链接通过源文本文件输入到数组中 我能够迭代数组并打印出链接并确认它们存在 但是当尝试通过函数传递它们时 它们在第一次迭代后变得未定义 我的最终目标是将每个页面的源代码保存到自己的文档中 它正确执行第
  • 将打印按钮添加到 Inno Setup 中的许可证页面(Inno Setup 6 重新访问)

    这是一个标准 RTF 文档 用于LicenseFile财产在 Setup Inno 设置部分 是否可以在此页面添加一个打印按钮来触发打印许可协议 我看到了类似的问题和答案 在 Inno Setup 的许可页面中添加 打印协议 按钮 我刚刚尝
  • 将 Trace 方法添加到 System.Diagnostics.TraceListener

    我编写了一个从 System Diagnostics TraceListener 派生的 Log 类 如下所示 public class Log TraceListener 它充当 Log4Net 的包装器 并允许人们像这样使用 Syste
  • 如何在 bigquery 中取消嵌套结构数组的字符串?

    bigquery 方法 当 option name 为 labels 时 INFORMATION SCHEMA TABLE OPTIONS 返回 option value 的结构数组字符串 更多信息在这里 表选项例如 我创建表 CREATE
  • 如何告诉 Google 翻译不要翻译网站的某个部分?

    谷歌翻译有一个开发者工具这将在网站上启用谷歌翻译 有没有办法告诉谷歌翻译不要翻译网站的某个部分 也许在 HTML 元素上有一个类名 我已经尝试过HTML5 翻译 否属性 它没有任何作用 这是一个特殊的问题 因为谷歌错误翻译了网站的名称 根据
  • Asp.Net C# MVC 动态表单(更改 Dom 结构并获取服务器上的数据)

    我使用 JavaScript 动态更改客户端的 DOM 以添加一些新的输入字段 不使用Ajax可以在服务器端获取数据吗 只需按下发送按钮即可在我的控制器中获取新数据 答案就在这里 http habrahabr ru blogs aspnet
  • Spring Data Rest 中嵌套资源的分页

    当访问以下 URL 时 我会收到分页响应 api userPosts links self href api userPosts page size sort templated true next href api userPosts p
  • 如何使用 jQuery 在元素的属性上插入变量?

    我只是想问是否可以在属性上插入 jQuery 变量 这是我的示例代码 a href Click here a 我需要输入 href 的 jQuery var 值 我怎样才能做到这一点 先感谢您 Sure function var u
  • 显示所选父级的树形菜单

    我在这里构建一个树形菜单 类别可通过其 id 进行访问 并显示其子类别 我的函数对于两级菜单运行良好 但无法生成第三级菜单 仅当单击第二级项目的 id 时 才应显示第三级菜单 我也需要这个函数来跟踪节点的路径 如果给出第三级 id 那么树应
  • 更改 uitableviewcell 的宽度

    我尝试更改表格视图中单元格的 with 我不做自定义单元格 我只是子类化 uitableviewcell 这是班级 implementation customCell id initWithStyle UITableViewCellStyl
  • 用 Python 计算费德勒向量

    如何在 Python 中找到拉普拉斯算子 L 的场向量 我可以使用以下方法获取特征值和特征向量 特征值 特征向量 linalg eig L 我假设 python 不会按顺序返回特征值 我是否取第二大特征值 然后将其与相应的特征向量匹配 在索
  • C++ system() 引发 ENOMEM

    这个问题是一个M not WE这个的question 我写了一段代码来重现该错误 include
  • 在 Access 中使用 SQL Server 存储过程的输出参数

    在从 Access 2013 VBA 执行该过程后 我尝试从 SQL Server 2008 中的存储过程获取输出变量 新标识列 我并不完全理解 adodb 的所有内容 并且我尝试了不同文章中的许多内容 但均无济于事 这就是我现在所处的位置
  • 如何追踪 log4net 问题

    我一直使用 log4net 但我从未弄清楚的一件事是如何知道内部发生了什么 例如 我的项目中有一个控制台附加程序和一个数据库附加程序 我对数据库和代码做了一些更改 现在数据库附加程序不再工作 我最终会找出原因 但如果我能看到 log4net
  • 使用动态文件名保存到 SharePoint 的 VBA 宏

    我有一个 Excel 工作表 我想通过宏将其保存到 SharePoint 我已经对其进行了排序 但问题是每个月的文件名都会有所不同 我不想每次都更改宏 即 filenameSeptember filenameOctober 等 我使用一个非
  • Linq To Entities 将值与 List 进行比较

    我在用实体框架5 0 并且我在 LINQ 查询方面遇到问题 我有以下方法 它接受一个整数值 然后将其传递到查询中 这很好用 public IList