【发布时间】:2012-10-04 20:05:06
【问题描述】:
我对 LINQ 在 PreprocessQuery 中的工作方式感到困惑。我一直在对自定义搜索屏幕的较大查询问题进行故障排除。除了我最终隔离的一小部分之外,其余的查询似乎都可以工作:
query = query.Where(i => i.IntValue == 100);
这不会返回任何结果,即使数据库显然有匹配的值。
但是,以下方法确实有效:
query = query.Where(i => i.StringValue == "value");
不涉及任何计算字段,我之前曾遇到过问题。我错过了什么?
【问题讨论】:
-
您的 IntValue 可能为空。试试 query = query.Where(i => i.IntValue.HasValue && I.IntValue.Value == 100);