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'? 的相关文章

  • 是否有与 C# 输出参数等效的 VB.NET?

    VB NET 是否有与 C 直接等效的工具out函数参数 传入函数的变量不需要初始化 不 没有等同的outVB 中的关键字 但是 VB 会自动初始化方法中的所有局部变量 因此您可以使用ByRef无需首先显式初始化变量 Example Sub
  • 如何从 VB.NET 中的存储过程获取返回值

    我在 SQL Server 中有一个存储过程用于生成事务号 任何人都可以帮助我如何从 VB NET 调用存储过程以及如何获取从过程返回到前端的值 问候 乔治 我想你想要这样的东西 Public Sub Foo Using sql As Ne
  • 如何将服务添加到 .Net 中属性网格的类型描述符上下文中?

    我有一个应用程序 允许用户在设计时选择图像 无论是直接图像还是从图像列表中 到目前为止 一切都很酷 除了这不是发生在 Visual Studio 属性浏览器中 而是发生在作为类型编辑器一部分的属性网格中 我的问题是 图像选择器 实际上是资源
  • VB.NET 相当于 C# var 关键字 [重复]

    这个问题在这里已经有答案了 是否有与 C 等效的 VB NETvar关键词 我想用它来检索 LINQ 查询的结果 选项推断 http msdn microsoft com en us library bb384665 aspx必须是on为了
  • VB.NET LINQ 查询:获取特定结构成员的所有值的总和

    在 VB NET 中 假设我有以下结构 Public Structure Product Public ItemNo As Int32 Public Description As String Public Cost As Decimal
  • .NET Winforms 中让用户输入时间范围的好方法?

    有谁知道让用户使用 winforms 控件输入时间量 小时和分钟 的好方法 目前 我有两个数字上下 一个代表时间 一个代表分钟 然后我解析它们以创建时间跨度 我唯一的另一个想法是一个文本框 用户可以在其中输入 00 00 时间 并验证输入
  • Crystal Reports 间歇性错误“无法提交请求以进行后台处理。”

    我们在带有 NET Framework 3 5 SP1 的 Windows Server 2008 上运行 Crystal Reports 我见过许多导致一般错误 无法提交请求进行后台处理 的原因 然而 在其他论坛上 由于特定报告的特定格式
  • VB.NET:“语句 lambda 无法转换为表达式树”编译时错误

    为什么我可以执行以下操作 Dim qNodes As IQueryable Of XmlNode xDoc ChildNodes AsQueryable Dim test qNodes Where Function node True 尽管
  • .NET 的 SMS 库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人知道 NET 的免费 SMS 库或网络服务可以让我向人们的手机发送短信吗 您实际上在寻找什么 图书馆
  • ActiveX 组件无法创建对象

    我收到错误 ActiveX 组件无法创建对象 实际上 我有业务逻辑所在的 VB6 DLL 并且我在 VB NET 应用程序中调用该 DLL 函数 所有 DLL 都依赖于其他 DLL 我从其中一个 DLL 中收到错误 有任何想法吗 通常该错误
  • 是否可以强制 Visual Studio 2010 使用 Visual Basic 10?

    要重现我收到的错误 在 Visual Basic 中创建一个新的 Visual Studio 2010 ASP NET 网站 面向 NET 2 0 输入 公共财产测试作为字符串 请注意 Visual Basic 9 0 不支持自动实现的属性
  • 如何从网络客户端获取状态码?

    我正在使用WebClient类将一些数据发布到 Web 表单 我想获取表单提交的响应状态代码 到目前为止我已经找到了如果出现异常如何获取状态代码 Catch wex As WebException If TypeOf wex Respons
  • FireFox 中的默认表单按钮

    我正在构建一个服务器控件 它将搜索我们的数据库并返回结果 服务器控件包含一个 ASP Panel 我已将面板上的默认按钮设置为等于我的按钮 id 并将表单默认按钮设置为等于我的按钮 id 在面板上 MyPanel DefaultButton
  • Visual Studio 将 1.1 扩展为 1.1000000000000001

    至少对我来说 这是有史以来最奇怪的 Visual Studio 2010 行为 我正在开发 MVC3 项目 我从另一个项目 也包括 VS2010 MVC1 如果重要的话 复制了一行代码 如下所示 target height height 1
  • 如何覆盖/更新当前由 IIS 提供服务的文件?

    问题 我的公司每月发布一份时事通讯 我将其托管在我们的内部网站上 我有一个供时事通讯作者上传最新版本的页面 作者上传最新的新闻通讯后 他会发送一封广播电子邮件来宣布新的新闻通讯 员工总是会检查新的时事通讯并向作者发送反馈以及需要进行的更正
  • 只允许在 datagridview 单元格中键入一些字符

    有没有办法只将某些字符添加到 datagridview 单元格中 像 1234567890 据我所知 您可以使用两种方法来实现此目的 第一个 我认为最好的 是使用 CellValidating 事件DataGridView并检查输入的文本是
  • Razor 视图中的内联 If

    在我的控制器中 我有内联 If 语句 ViewBag NameSortParam If String IsNullOrEmpty sortOrder Name desc 在我看来 如果出现以下情况 我似乎无法使用内联 Code If Tru
  • 使用 postgresql DB 存储 NULL 值需要多少磁盘空间?

    假设我的表上有一列定义了以下内容 MyColumn smallint NULL 存储 0 1 或其他值等值应该需要 2 个字节 1 但是如果我将 MyColumn 设置为NULL 需要多少空间 需要0字节吗 出于管理目的或每列 行是否有一些
  • 如何转换十进制?到小数

    可能这是一个简单的问题 但我正在尝试所有的转换方法 并且仍然有错误 你能帮我吗 小数 可为空的小数 到小数 有很多选择 decimal x decimal a decimal x works throws if x was null dec
  • 跨线程操作无效 VB.NET

    我浏览了该网站 发现与该主题相关的问题是针对 C 的 我正在维护的应用程序是用 VB NET 编写的 因此 如果我忽略了一个问题 我深表歉意 这是我调用我的线程的地方 Private Sub saveBtn Click ByVal send

随机推荐

  • 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 个月 并且得到了高层管理人员的支持 因为我们