LINQ to SQL 谓词生成器

2024-02-15

我使用 PredicateBuilder,如下所示http://www.albahari.com/nutshell/predicatebuilder.aspx http://www.albahari.com/nutshell/predicatebuilder.aspx,一切都很好,现在我可以生成动态 LINQ to SQL 表达式,但我不明白的是为什么当我处于这样的循环中时:

var inner = PredicateBuilder.False<MyType>();
foreach (var f in Filtermodel.InstrumentsFilterList.Where(s => s.isActive))
        {
          int temp = f.InstrumentID;
          inner = inner.Or(ud => ud.InstrumentId == temp);
        }

为什么我必须使用该临时变量?,我尝试使用“f”迭代器变量,但它只获取每次迭代列表中的最后一个值,就像它是通过引用传递的一样...


因为 PredicateBuilder 正在构建一个表达式,该表达式将在稍后的时间点执行。当编译器为委托生成闭包时,它会查找在当前作用域中创建的任何值,并将它们也带入闭包中。由于 InstrumentID 是值类型 (int),因此初始化和复制该值意味着每个委托/闭包都将携带该值。如果您不是每次都创建值的副本,则表达式将仅具有对 f.InstrumentID 的字面引用,而不是对其基础值的引用。因此,稍后,当实际执行表达式时,将对 f.InstrumentID 进行求值,并且它将显示为上次设置的值,即最后一次迭代。

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

LINQ to SQL 谓词生成器 的相关文章

  • 无法创建常量值 - 只允许基本类型或枚举类型

    我在这里看到了一些与此异常相关的问题 但没有一个让我理解问题的根本原因 所以这里我们还有一个 var testquery from le in context LoanEMIs Include LoanPmnt join lp in con
  • Linq 到自定义 SQL

    好的 我有一个带有巨大表的数据库 超过 100 万条记录和 50 多个列 我知道它不是最佳的 但它是我必须处理的 所以我需要运行限制返回数据量的查询 现在我的问题是这样的 我有一些运行并返回数据的自定义查询 用户可以通过选择将生成谓词模板并
  • 使用 sqlite 离线存储数据的 Web 表单应用程序

    我有一个 asp net Web 表单应用程序 它在远程服务器上使用 sql server 2005 所有控件均使用 linq to sql 绑定 我正在尝试提供完整的离线功能 所以我想知道是否可以像 sql server db 一样创建一
  • 领域驱动设计 (Linq to SQL) - 如何删除聚合的某些部分?

    我似乎对整个 DDD LinqToSql 业务感到有点困惑 我正在使用 POCOS 和 linq to sql 构建一个系统 并且我有聚合根的存储库 因此 例如 如果您有 Order gt OrderLine 类 那么您就有了 Order
  • LINQ options.loadwith 问题

    我正在编写一个基于标签的 ASP net 系统 使用以下数据库方案 Topic
  • 有没有任何工具可以查看针对数据库运行的查询?

    是否有任何工具可以检查 asp net 或 sql server 并报告针对数据库运行的所有查询 我问这个问题的原因是我正在一个项目中使用 Linq 并且想要仔细检查它对每个页面实际执行的操作 理想情况下 我想在浏览器中查看页面并获得为创建
  • 如何将 Linq 扩展到 SQL?

    去年 斯科特 格思里stated http weblogs asp net scottgu archive 2007 07 31 linq to sql debug visualizer aspx 如果你想绝对控制执行的 SQL 你实际上可
  • Linq to SQL DataContext 的多个/单个实例

    我有一个项目 其中有许多不同的类查询和修改一组公共表中的数据 我已经设置了一个 dbml 文件 它为我们提供了 DataContext 类 我的问题是 DataContext 的单个实例是否应该由所有对象使用 或者多个实例是否可以安全使用
  • LINQ-SQL 重用 - CompiledQuery.Compile

    我一直在研究 LINQ SQL 试图获得可重用的表达式块 以便将其热插入到其他查询中 所以 我从这样的事情开始 Func
  • 计算另一个表达式中的 C# 表达式

    我想在另一个表达式中使用一个表达式 Expression
  • 存储库模式和 Linq to sql

    我正在尝试使用角色表 用户表和具有用户 ID 角色 ID 的外部参照表来实现用户身份验证和授权 为了实现通用存储库来更新角色 插入角色 添加用户 将用户添加到角色 更新用户 更新用户角色 验证用户 添加用户会话进行审核等 我是否需要为每个存
  • 包含多列查询

    当任一列可能为空时 如何使用 LINQ to SQL 搜索多个列 IEnumerable
  • 如何在 linq to sql 中批量插入/更新?

    我该如何做这两种情况 目前我正在做这样的事情 public class Repository private LinqtoSqlContext dbcontext new LinqtoSqlContext public void Updat
  • 无效操作。连接已关闭。 ASP.NET MVC

    这种情况并不经常发生 但有时我会收到一封通过电子邮件发送给我的异常报告 指出这段代码 我想知道您是否发现以下代码有任何问题 我无法让它在本地失败 并且使用断点跟踪数据总是会一步步给出正确的结果 namespace DomainModel C
  • 使用“NOT IN”的 LINQ to SQL 查询

    可以使用 LINQ to SQL 查询NOT IN 例如 SELECT au lname 声明 FROM 作者 WHERE 声明 NOT IN CA IN MD List
  • 使用 Lambda 表达式从字段名称中选择不同的字段

    我需要从数据库表中获取两个字段 使用 linq to sql 检索 一个字段是日期时间 并且是固定字段 另一个字段始终是十进制 但该字段可以不同 该表保存的货币数据每天以不同的货币处理两次 因此可能具有 AM USD PM USD AM E
  • LINQ to SQL 支持 POCO 吗?

    如果我想使用一个对象并利用 LINQ to SQL 我需要添加什么 如果有的话 到我的实体类中以确保我的应用程序可以与数据存储对话 此处不要讨论存储库模式 因为我只是在寻找业务对象内所需的内容 除了使用 LINQ to SQL 设计器并让它
  • 使用 LINQ2SQL 在 ASP.NET MVC 中的各种模型存储库之间共享数据上下文

    我的应用程序中有 2 个存储库 每个存储库都有自己的数据上下文对象 最终结果是我尝试将从一个存储库检索到的对象附加到从另一个存储库检索到的对象 这会导致异常 Use 构造函数注入将 DataContext 注入每个存储库 public cl
  • LINQ to Entities 查询中的可重用谓词表达式

    在我们的应用程序中许多不同查询中出现的一组特定条件已经慢慢变得更加复杂 为了避免重复此代码 我想将这些条件拆分为一个方法 该方法将条件作为表达必要时可以依次应用 public Expression
  • LINQ to SQL 从不同的数据上下文断开更新对象

    Link https web archive org web 20210126032647 http geekswithblogs net michelotti archive 2007 12 17 117791 aspx 我将 ASP N

随机推荐

  • 为什么“convert x.png y.png”会创建不同大小 (KB) 的图像?

    我有一些图像 我试图通过调整它们的大小来将它们标准化到一定的比例 当我开始调整图像大小时 我注意到它们的体积 KB 变得比原始图像大得多 我通过简单地执行以下操作进一步检查了它 转换 x png y png 并得到了一些差异 例如 在一种情
  • 通过 YouTube API 上传时,视频文件卡在 0%

    正如标题所示 视频文件可以通过 YouTube 的上传功能上传和处理 然而 当我尝试以编程方式上传它 通过 OAuth2 和 YouTube API v3 时 它总是陷入 0 的处理状态 SO 上有 youtubers 吗 有没有专门的论坛
  • 如何将项目添加到 NavigationView 中的菜单组

    在 Android 的文字游戏中 我目前有一个硬编码菜单 由left drawer menu xml并由 3 组组成 我的回合 对手的回合以及最后的其他内容 mLeftDrawer NavigationView findViewById R
  • 存储枚举 MongoDB

    我在 Mongo 数据库中存储每个用户的排名 管理员 版主 用户 和成就等枚举 据我所知 Mongo 没有枚举数据类型 这意味着我必须使用其他类型来存储它 我曾想过使用整数来存储它 我认为它比存储可以轻松表示为整数的所有内容的字符串占用的空
  • MySQL 导出/导入中特殊字符丢失

    我正在尝试将 MySQL 3 23 58 数据库移动到运行 5 5 19 的其他服务器 旧的指定了 latin1 编码 据我所知 底层数据确实是 latin1 我尝试了很多事情 主要是 使用 mysqldump 和 latin1 编码标志从
  • java中如何让线程休眠特定时间?

    我有一个场景 我希望线程休眠特定的时间 Code public void run try do something Thread sleep 3000 do something after waking up catch Interrupt
  • 异步 WCF 方法 WebOperationContext 在等待后为 null

    在以下示例中 该方法公开为 WCF 服务操作 并且该服务托管在 IIS 中 进入该函数时 WebOperationContext Current 将按预期设置 然而 等待完成等待后 WebOperationContext Current 将
  • 如何使用CSS在占位符中获取星号

    I want to add an asterisk mark to placeholder of inputs Something like this 我已经搜索过互联网但找不到有效的解决方案 我目前的做法 目前我正在尝试将其添加到 aft
  • 很好的黄瓜教程,不依赖于 Rails [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个好的黄瓜教程 它不会强迫我使用 Rails 有什么好的建议吗 我相信Rspec 书 ht
  • 您指定了正确的主机或端口吗? Kubernetes 上的错误

    我已经按照 hello world 教程进行了操作http kubernetes io docs hellonode http kubernetes io docs hellonode 当我跑步时 kubectl run hello nod
  • ggplot2scale_x_连续限制或绝对

    我在循环中使用以下 ggplot2 v0 9 scale x continious 逻辑 按县名称 试图将每个县的数据绘制在具有相同 x 比例的单独图上 MaxDays 365 3 p lt p scale x continuous lim
  • 如何强制 IntelliJ 使用 Maven 下载 javadocs?

    我对项目结构中的一些 Maven 条目有以下描述 文件系统中确实不存在 Javadoc 文件 同时 它存在于中央存储库中 为什么没有下载 如何强制下载 UPDATE 这些选项已经开启 设置后尝试重新编译 关闭 打开等 单击IntelliJ右
  • ARM 皮质:使用位带的互斥体

    鉴于此 在 ARM Cortex M3 上 我可以 原子地读取一位 原子地设置一位 原子地清除一位 如何将这些组合起来形成互斥体样式的操作集 try lock take lock release lock 看起来try lock or ta
  • python 中使用 pandas dataframe 和 statsmodels 或 scipy 进行方差分析?

    我想使用 Pandas 数据框来分解一个变量的方差 例如 如果我有一个名为 度 的列 并且我已针对各种日期 城市以及夜间与白天对其进行了索引 那么我想找出该系列中的变化中有多少部分来自横截面城市变化 有多少来自时间序列变化 有多少来自夜间与
  • CSS:#id .class VS .class 性能。哪个更好?

    我认为这会更快 dialog videoContainer width 100px than videoContainer width 100px 当然不考虑这一点 videoContainer在第一个示例中 只会在以下样式下设置样式 di
  • 非空终止字符数组

    include
  • 使用带有导航器的滑动菜单的 Onsen-UI

    好的 问题是我有一个带页面的工作滑动菜单 现在我的一个页面有一个 ons list 通过单击ons list item 我想导航到带有后退按钮的新页面 我到处搜索但没有找到解决我的问题的任何正确方法 这是我的代码
  • 在集合视图中显示两个不同的单元格 - Swift 2.0 iOS

    我正在开发一个 交易 应用程序 我希望拥有静态数量的单元格 加载时 用户将看到 5 个单元格 每个单元格都显示一个标有 添加 的标签 当添加 玩家 时 该单元格显示玩家信息 其他 4 个单元格仍然显示 添加 标签 另一个是添加的 2个单元格
  • 从node js到django的csrf问题

    我想将 csrftoken 从 node js 传递到 django 我的 server js 中有这段代码 socket on unread global function data var values querystring stri
  • LINQ to SQL 谓词生成器

    我使用 PredicateBuilder 如下所示http www albahari com nutshell predicatebuilder aspx http www albahari com nutshell predicatebu