VB.Net Linq to Entities Null 比较 - 'Is Nothing' 或 '= Nothing'?

2024-03-15

我们在 VB.Net 中有多个项目,使用 .Net Framework 4 和 Linq to Entities 进行许多 SQL 查询。迁移到 EF 对我们来说是一个新的转变(使用它大约 4-6 个月),并且得到了高层管理人员的支持,因为我们可以更快地编码。我们仍然使用大量存储过程,但我们甚至也通过 Linq to Entities 执行这些存储过程。

我希望能够消除一些困惑,但我找不到有意义的直接答案。我们有一些查询,我们想要特定字段具有 NULL 值的记录。这些是简单的选择查询,没有聚合或左连接等。Microsoft 建议查询如下所示MSDN 链接 http://msdn.microsoft.com/en-us/library/bb738687.aspx:

dim query = from a in MyContext.MyTables
Where a.MyField = Nothing
Select a

我有几个项目就是这样做的,而且效果很好,IDE 中没有任何警告。最近,另一位开发人员创建了一个新项目,当他像上面那样进行 null 检查时,我们都在 IDE 中收到此警告:

警告 1 该表达式的计算结果始终为 Nothing(由于来自 equals 运算符的 null 传播)。要检查该值是否为空,请考虑使用“Is Nothing”。

比较项目,每个项目都启用了选项显式和选项严格。如果我们忽略警告,我们将在应用程序运行时获得我们正在寻找的确切记录集。如果我将 = 符号更改为 IS,警告就会消失。但为什么这个警告出现在一个项目中而不是其他项目中呢?即使在 MSDN 上也有使用等于运算符的示例,这令人困惑。


生成的列应该是Nullable(Of T)

因此,您可以检查该字段是否有价值,如下所示:

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

VB.Net Linq to Entities Null 比较 - 'Is Nothing' 或 '= Nothing'? 的相关文章

  • SQL存储过程执行时间差异

    我在 win form 应用程序中遇到奇怪的问题 我正在调用一个存储过程 并且执行大约需要 6 秒 此存储过程接受多个参数 包括一个输出参数 从应用程序级别我使用 Dim dt1 DateTime Now cmd ExecuteNonQue
  • 如何检查主音量是否静音

    如何在 Windows 7 操作系统中检查主音量是否静音我有静音或取消静音的代码 IE Public Const APPCOMMAND VOLUME MUTE As Integer H80000 Public Const APPCOMMAN
  • 简单的if检查多个值vb

    在Sql中我们可以像这样过滤 SELECT FROM 表名 WHERE 列名 IN firstValue secondValue 如何在VB Net中检查 有简单的方法吗 或者 只是 If variable firstValue Or va
  • 在 Select 语句中调用表达式 - LINQ to Entity Framework

    我正在尝试使用我在尝试执行 select 子句时创建的现有表达式构建类 但我不确定如何将表达式附加到 Select 的表达式树 我尝试执行以下操作 var catalogs matchingCatalogs Select c gt new
  • 创建 Visual Studio 风格的选项/设置对话框

    我目前正在改进 winforms 应用程序的选项对话框 目前我正在使用选项卡控件 我想为类似于 Visual Studio 的设置创建一个表单 对话框 这是怎么做到的 我可以在左侧看到类似树视图的控件 但是他们使用什么控件来显示每个选项页面
  • 根据值从绿色到红色[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要一个在 vb net 中返回从红色 值 0 到绿色 值 100 的颜色的函数 另外 我需要一种方法来确定字体的颜色应该是白色还是
  • 如何使用网络浏览器控件填写 html 表单

    在VB6 classic中 我们可以这样做 Private Sub Form Load WebBrowser1 Navigate2 http yourSite com End Sub Private Sub Command1 Click W
  • @Nullable 和 SonarQube “有条件执行的块应该可达”警告

    包有以下package info java ParametersAreNonnullByDefault package foo import javax annotation ParametersAreNonnullByDefault 类有
  • WPF DataGrid 显示点而不是逗号

    在网上查找并寻找答案后没有结果 我想向您寻求帮助 我有一个包含 2 列的 SQL 数据库表 浮点数据类型 例如 1 2 1 3 1 4 等 绑定到一个DataGrid XAML 代码
  • 在单个 C# 泛型方法中返回可为 null 和 null?

    C 泛型方法是否可以返回对象类型或 Nullable 类型 例如 如果我有一个安全的索引访问器List我想返回一个值 稍后我可以使用以下任一方法检查该值 null or HasValue 目前我有以下两种方法 static T SafeGe
  • Linq-to-Entity Join 与 GroupJoin

    有人可以解释一下什么是GroupJoin is 和普通的有什么不同Join 常用吗 它仅适用于方法语法吗 查询语法怎么样 如果有 C 代码示例就更好了 行为 假设您有两个列表 Id Value 1 A 2 B 3 C Id ChildVal
  • 如何使用 VB.NET 或 C#.NET 代码从 yahoo 邮件 ID 发送邮件

    我想从我的 yahoomail Id 发送邮件 如何使用 VB NET 或 C NET 代码从 yahoo mail Id 发送邮件 需要善意的帮助 提前谢谢 西瓦库马尔 以下是一些制作基本 html 电子邮件消息的示例 http help
  • 在一个数据库请求中连接 IQueryable 集合

    我使用实体框架 我需要连接两个集合 例如 IQueryable
  • 您是否必须在 VB.NET 中显式创建表单实例? [复制]

    这个问题在这里已经有答案了 如果一个项目包含Form类 形式可以通过以下方式显示 Form1 Show 或者是否需要首先创建表单的实例 Dim frm As New Form1 frm Show 正如所建议的 使用表单名称使用默认实例 而第
  • 检测 404 而不捕获异常

    简单功能 检查网络服务器是否返回非 200 HTTP 状态 Private Function RemoteFileOk ByVal Url As String As Boolean Dim req As HttpWebRequest Try
  • WPF DataGrid 排序后滚动到顶部

    我有一个使用数据网格的 Net 4 0 WPF 应用程序 目前 按列排序后 网格的滚动位置保持在排序前的位置 对于此应用程序 我需要在任何排序后滚动到网格顶部 我尝试过像这样处理排序事件 Private Sub myDataGrid Sor
  • 如何在使用 LINQ to Entities 和辅助方法时保持 DRY?

    假设我有一种特殊的方法来确定某些字符串是否 匹配 如下所示 public bool stringsMatch string searchFor string searchIn if string IsNullOrEmpty searchFo
  • 多选DataGridView没有CTRL键没有闪烁?

    我在表单 Form1 vb 上有一个 DataGridView 控件 需要允许用户在不使用 CTRL 键的情况下多选行 没有可用的键盘 他们使用触摸屏 我已启用 mutliselect 属性 并在 Form 类中包含以下代码 我的 Data
  • VB.NET - 类中的扩展函数?

    我正在尝试创建一个类库 其中包含将二进制整数转换为十进制的函数 反之亦然 这样我就可以将其导入到另一个项目中 而无需重写该函数 它工作得很好 这是课程的一部分 Public Class BinaryDenary Public Shared
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要

随机推荐

  • StringBuffer如何在不创建两个对象的情况下实现append功能?

    这是一个面试问题 我被要求实施StringBuffer追加功能 面试后我看到了代码 但我无法理解如何通过创建单个对象来完成该操作 我是这样想的 String s orange s append apple 这里创建了两个对象 But Str
  • Java 本地化数字格式

    Java 使用小数点的句点 例如1 2 0 5 有没有办法让它使用逗号代替 如 1 2 0 5 并且不要使用逗号来表示千 例如十万 100 000 而是使用空格 100 000 当谈到输出时 我想我可以使用各种字符串格式函数 但问题是输入
  • 从字符串中删除 %0A

    我怎样才能从这个字符串中删除 0A 这是输入关键代码 我需要从整个字符串中删除它 那么我该怎么做呢 input NA 0A 0AJKhell 这是测试 0A Output NAJKhell 这是测试 Update String Commen
  • 每次调用任何其他方法之前调用一个方法

    我有一个类 该类中有一个私有方法和许多公共方法 每次调用任何其他方法之前都必须调用此私有方法 最简单的方法是在每个方法中调用该方法 但我不喜欢这种方法 还有其他方法可以实现这一目标吗 您也许可以使用 AOP 在这里做一些事情 也许通过后锐利
  • 使用 Linq 的属性选择器和Where 查询

    我正在尝试这样做 public class SomeEntityClass public Guid MyClassProperty get set public class AnotherEntityClass public Guid An
  • 如何通过 CocoaPods 使用本地项目

    我正在努力寻找一种方法来将我们创建的 Xcode 框架打包为 Pod 该框架仅在内部使用 不公开 不在 github 上 我该如何修改 podspec从我的开发机器上的本地 Xcode 项目构建 SDK 本地 CocoaPods 依赖管理器
  • 如何检查CRAN镜像是否过时?

    建议R用户从本地CRAN镜像下载R和R包 但有些已经过时了 有没有一种简单的方法来检查存储库是否已过时 R中有什么函数可以做到这一点吗 一种方法是查看 CRANMIRROR src contrib 并按日期排序 通过在日期上单击两次 以便您
  • Java Swing Mac OSX 首选项菜单

    我正在尝试将 首选项 菜单添加到我的 Java Swing 应用程序中 但事实证明它有点令人作呕 我读过很多关于这方面的帖子和文章 听起来很简单 但是 我看到参考文献com apple eawt Application在我找到的示例中 但是
  • PHP imagepng() 正在创建损坏的图像

    我到处寻找可能的解决方案来解决我的问题 不幸的是我似乎无法弄清楚 我有一个 php 文件 它根据其他图像创建图像 我让脚本完全按照现在的方式运行 没有任何缺陷 但在摆弄其他一些文件后 它突然停止工作 并在 Firefox Chrome 和
  • Android:MediaPlayer 已定稿但未发布

    我正在我当前正在开发的应用程序中使用 MediaPlayer 类 我想在 Activity 的生命周期内保留 MediaPlayer 类的实例 我在 Activity 的 onPause 方法中释放 MediaPlayer 类中的资源 但是
  • 在带有 webpack 的 Angular cli 中,如何关闭 ng 服务上的 typescript linting

    在带有 webpack 的 Angular cli 中 如何关闭 ng 服务上的 typescript linting 我遇到一些愚蠢的错误 需要跳过 我可以做他们的任何角度 cli 设置来关闭正在检查的打字稿吗 这是我使用的应用程序 ht
  • Android setRequestProperty 在 url.openConnection()

    我有一个 Android 应用程序需要在连接中设置请求属性 这是我的代码 URL url new URL sUrl HttpURLConnection connection HttpURLConnection url openConnect
  • 删除数字字符串python [重复]

    这个问题在这里已经有答案了 对于我的作业 我必须创建一个函数 该函数返回一个与给定字符串相同的新字符串 但删除了数字 示例 删除数字 abc123 将返回字符串 abc 我已经尝试了几乎所有我能想到的方法 但它不能正常工作 def test
  • AWS S3 Glacier - 以编程方式启动恢复

    我一直在编写一个网络应用程序 使用 s3 进行存储 使用 Glacier 进行备份 所以我设置了生命周期策略来存档它 现在我想编写一个列出存档文件的网络应用程序 用户应该能够从中启动恢复 然后在恢复完成后收到一封电子邮件 现在我遇到的麻烦是
  • 在使用 Docker 配置构建代理之前,Teamcity Build 不会运行?

    我为我的 Teamcity 管道创建了一个新版本 我第一次使用 Docker buildstep 设置完所有内容后 我意识到构建代理似乎还没有准备好 我知道我的代理似乎还没有准备好使用 docker 进行构建but没有人真正告诉我如何做到这
  • 在java中解析XML时没有工作ID属性

    我目前正在开发一个图形 XML 编辑器 对于该编辑器 我必须能够通过其 ID 属性访问各个元素 我已经建立了一个 XML 模式 在其中定义了 ID 属性 我使用 javax xml parsers DocumentBuilderFactor
  • 使用拆分器使 ItemsControl 子项可调整大小

    我想将小部件插入我的ItemsControl并使它们可调整大小 我该如何实现这一目标 这是我的 XAML
  • 使用 numpy 实现最大/平均池化(带步长)

    我想知道如何使用 numpy 实现简单的最大 均值池 我正在读书使用 numpy 进行最大池化和平均池化 https stackoverflow com questions 42463172 how to perform max mean
  • 如何动态更改 SQLAlchemy 声明性模型上的列类型?

    我在生产中运行 mysql 但想在内存数据库中的 sqlite 中运行简单的测试 旧版 mysql 数据库的表中包含 mysql 特定类型的列 这些列是在声明性模型中声明的 子类 declarative base 我想运行一些简单的测试而不
  • VB.Net Linq to Entities Null 比较 - 'Is Nothing' 或 '= Nothing'?

    我们在 VB Net 中有多个项目 使用 Net Framework 4 和 Linq to Entities 进行许多 SQL 查询 迁移到 EF 对我们来说是一个新的转变 使用它大约 4 6 个月 并且得到了高层管理人员的支持 因为我们