Linq to SQL 如何执行“where [column] in (值列表)”

2024-02-24

我有一个函数,可以获取 id 列表,并且需要返回与该 id 关联的描述相匹配的列表。例如。:

public class CodeData
{
    string CodeId {get; set;}
    string Description {get; set;}
}

public List<CodeData> GetCodeDescriptionList(List<string> codeIDs)
    //Given the list of institution codes, return a list of CodeData
    //having the given CodeIds
}

因此,如果我自己为此创建 sql,我只需执行如下操作(其中 in 子句包含 codeIds 参数中的所有值):

Select CodeId, Description FROM CodeTable WHERE CodeId IN ('1a','2b','3')

在 Linq to Sql 中,我似乎找不到与“IN”子句等效的内容。到目前为止我发现的最好的(不起作用)是:

 var foo = from codeData in channel.AsQueryable<CodeData>()
           where codeData.CodeId == "1" || codeData.CodeId == "2"
           select codeData;

问题是,我无法动态生成 linq to sql 的“OR”子句列表,因为它们是在编译时设置的。

如何使用 Linq to Sql 完成检查列是否位于动态值列表中的 where 子句?


Use

where list.Contains(item.Property)

或者在你的情况下:

var foo = from codeData in channel.AsQueryable<CodeData>()
          where codeIDs.Contains(codeData.CodeId)
          select codeData;

但你也可以用点表示法来做到这一点:

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

Linq to SQL 如何执行“where [column] in (值列表)” 的相关文章

随机推荐

  • 当重叠很少时找到重叠间隔

    我有一个巨大的数据库表n整数区间 例如 1 5 4 16 6434 114343 并且需要找出哪些间隔相互重叠 有丰富的SO的类似问题 https stackoverflow com questions 4542892 possible i
  • 为什么单字母 UDF 名称不能使用 C 或 R?

    我可以编写以下有效的 VBA 函数 Public Function C As Long C 5 End Function Public Function R As Long R 6 End Function 但如果不使用 VBA 项目或模块
  • 为什么将列表作为参数传递比传递生成器性能更好?

    我正在回答这个问题 https stackoverflow com questions 59925390 how to count different elements in list of lists 59925564 noredirec
  • 将点平面分成相等的两半[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 给定一个二维平面 其中有 n 个点 我需要生成一条线的方程 该线将平面分开 使得一侧有 n 2 个点 另一侧有 n 2 个点 我假设这些点
  • Rails - params[:commit] 的目的是什么

    我注意到 每次将 Rails 表单发送到服务器时 提交按钮的名称 通常是按钮上显示的字符串 都会包含在params散列为 提交 例如 最后一个条目 utf8 gt authenticity token gt eZABpBuW7afziDMU
  • 字符串函数如何计算字符串行中的分隔符

    我有一个如下所示的字符串行 A B C D E F G H I J K L M 这意味着分隔符 计数为 12 这条线是有效的 现在假设您有以下行 A B C D E F G H 该行也是有效的 因为它包含 12 个分隔符 其中存在 8 个值
  • Grails 和 SQLite

    尝试让 SQLite 与 grails 一起工作 我在网上找到的东西似乎有点过时 对 ivy 和插件等的引用 但基于这些 http stackoverflow com questions 1199512 grails sqlite http
  • 为什么js字符串中的标签会被验证

    我有以下页面 在我的对象的 someHTML 属性中字符串中的标签 但浏览器将其读取为实际的关闭标记并关闭脚本元素 我在
  • 比较 jQuery 对象

    我正在使用选择器来获取一组对象 0 个或更多 var openMenus Triggers filter trigger hover 然后我有一个事件附加到一个项目 该项目可能位于也可能不位于上面的对象中 在该事件中 我想将触发事件的项目与
  • Rails 3 禁用会话 cookie

    我在 RoR 3 上编写了 RESTful API 我必须使我的应用程序不发送 Set Cookie header 客户端使用 auth token 参数进行授权 我尝试过使用session off and reset session但这没
  • 在应用程序中插入“在 iTunes 上下载”按钮

    我的应用程序显示某首歌曲的标题 我想插入一个 在 iTunes 上下载 按钮 该按钮可以在我的 iPhone 上打开 iTunes 并指向我的歌曲 我已经使用以下命令检索了正确的 iTunes 网址iTunes 链接制作工具 http it
  • ipdb、多线程和自动重新加载程序导致ProgrammingError

    我正在使用 ipdb 调试器在本地调试多线程 Web 应用程序 Django Plone 通常 ipdb 似乎会因为我在调试提示符下时发生的自动重新加载而感到困惑 结果堆栈跟踪出现 Users mikko code xxxx venv li
  • 剧作家 + Django:如何等待事件

    在我的测试中 我必须等待事件触发才能继续测试断言 但我不知道如何让 Playwright 等待该事件 剧作家似乎看不到该事件 django 页面的简单示例 单击按钮会触发事件boop改变文档的背景颜色 模板event html
  • ajax在asp.net中的使用

    我对使用哪种方法有点困惑 1 使用Jquery调用实现订单的HttpHandler页面 2 使用 ICALLBACKEventHandler 阅读更多 http www ajaxmatters com 2006 05 using icall
  • Meteor如何在mongo中保存模板

    我想让我的用户能够创建文档模板 合同 电子邮件等 我想出的最好的选择是将这些文档模板存储在 mongo 中 也许我错了 我已经搜索了几个小时 但我不知道如何使用它们的数据上下文呈现这些文档模板 Example Template stored
  • Jupyter 编辑模式下是否有删除行的快捷方式?

    In Jupyter s edit mode is there a shortcut for deleting a line of text Something like Ctrl L in Visual Studio Shift Dele
  • 如何确保分页 REST API 中的数据完整性?

    我目前正在研究 REST API API返回的资源预计是来自数据库的海量数据 数据库中有数千万行 分页是必须的 以避免将数据写入 HTTP 响应时消耗大量内存 当客户端请求之间数据库中存在删除 添加行时 如何确保数据完整性 例如 page
  • Android 共享首选项的空指针异常

    我试图在共享首选项中保存一个整数值 并在应用程序重新启动时再次加载它 我在我的主要活动中创建了一个共享首选项 并尝试在单击菜单项时在另一个菜单侦听器类中保存整数值 菜单侦听器类位于不同的包中 并且菜单侦听器类扩展了主活动 但是当我尝试这样做
  • 如何使 GCC 将 .text 部分编译为 ELF 二进制文件中的可写部分?

    我希望能够动态更改我正在使用的库中的可执行代码 本质上 我想动态地 NOP 掉某些不需要的函数 但是 我正在使用的库的 text 部分是不可写的 大多数程序都是如此 我有该库的源代码 因此想使用 GCC 将其编译为可写 有没有办法做到这一点
  • Linq to SQL 如何执行“where [column] in (值列表)”

    我有一个函数 可以获取 id 列表 并且需要返回与该 id 关联的描述相匹配的列表 例如 public class CodeData string CodeId get set string Description get set publ