Lightswitch中的自定义LINQ查询

时间:2012-10-04 20:05:07

标签: visual-studio-lightswitch

我对LINQ在PreprocessQuery中的工作方式感到困惑。我一直在使用针对自定义搜索屏幕的较大查询来解决问题。查询的其余部分似乎有效,除了我最终孤立的一小部分:

query = query.Where(i => i.IntValue == 100); 

即使数据库显然具有匹配的值,也不会返回任何结果。

但是,以下方法确实有效:

query = query.Where(i => i.StringValue == "value"); 

没有涉及任何计算字段,我之前看到过这些字段。我错过了什么?

1 个答案:

答案 0 :(得分:0)

正如我在回复您的question in the LightSwitch Forum时所述,我在 PreProcessQuery 方法中一直使用此类比较,因此如果检查了以下方案,则此错误不应该是'发生了。

该财产是:

  1. 类型 int (不是字节 string etc)

  2. nullable

  3. 有一件事没有在你的论坛帖子中得到建议(实际上,我只是检查了帖子,并且这个语法 实际建议了,但我会留在这里为其他人,如果他们没有意识到有两种语法),就是试试“替代语法”。

    query = from q in query 
            where q.IntValue == 100
            select q;
    

    语法不应该有任何区别,但话说再说一遍,错误也不应该发生。