为什么lambda中的这个短路不起作用?

rud*_*nev 12 c# linq linq-to-sql

为什么linq试图检查第二个表达式呢?

.Where(t =>  String.IsNullOrEmpty(someNullString) || t.SomeProperty >= Convert.ToDecimal(someNullstring))
Run Code Online (Sandbox Code Playgroud)

通常的解决方法是什么?

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

Ben*_*tin 11

.Where被上使用Table<>

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