c# - 为什么 lambda 中的短路不起作用?

标签 c# linq linq-to-sql

为什么 linq 仍然要检查第二个表达式?

.Where(t =>  String.IsNullOrEmpty(someNullString) || t.SomeProperty >= Convert.ToDecimal(someNullstring))

通常的解决方法是什么?

更新:
当然,它是关于 LINQ to SQL 的。它无法转换为 SQL。

最佳答案

.WhereTable<> 上使用?

如果是这样,那么在获取任何数据之前,它必须将 LINQ 转换为 SQL,为此它必须转换 string进入 decimal .它还没有尝试实际执行比较,它正在尝试构建检索数据所需的结构。

关于c# - 为什么 lambda 中的短路不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1079556/

相关文章:

c# - 如何在 C# 中通过字符串调用构造函数(即通过反射)?

c# - SmtpClient 不会通过 SSL/TLS 进行身份验证(不指向 gmail)

.net - 使用 Linq to XML 时出现 NullReferenceException

c# - 将 SQL 转换为具有多个表和组的 LINQ

c# - Linq-to-SQL:如何使用 group by 对数据进行整形?

c# - Orderby() 没有正确排序数字 c#

c# - 捕获不相关进程的输出

c# - 是否有一种 LINQ 方式可以将相同的字符追加 n 次到一个字符串?

c# - LINQ 连接表然后按主表分组

c# - 复制病毒文件导致我的程序终止