C# 在Lightswitch HTML中记录不返回结果的查询

C# 在Lightswitch HTML中记录不返回结果的查询,c#,html,visual-studio-lightswitch,C#,Html,Visual Studio Lightswitch,我想做的是,当用户进行搜索时,查询不会返回结果。我希望能够记录在另一个表中搜索的字符串 我想做的似乎应该是直截了当的。。。我的第一种方法是获取预处理查询的计数 我尝试的示例: int count = 0; partial void QueryName_PreprocessQuery(string ParamName, ref IQueryable<TableName> query) { if (ParamName != null

我想做的是,当用户进行搜索时,查询不会返回结果。我希望能够记录在另一个表中搜索的字符串

我想做的似乎应该是直截了当的。。。我的第一种方法是获取预处理查询的计数

我尝试的示例:

    int count = 0;
    partial void QueryName_PreprocessQuery(string ParamName, ref IQueryable<TableName> query)
        {
            if (ParamName != null)
            {
                query = query.Where(a => a.PropertyName.Contains(ParamName));
                count = query.Count();
            }
        }
除了验证
query
是否为空以及
count
是否为0之外,此方法实际上不执行任何操作。再一次。。。正确的结果仍然显示在我的屏幕上


因此,这让我相信,也许我不应该尝试在
\u prepreprequery
方法中获取计数?

我相信你是对的。尝试从QueryName\u预处理查询更改为执行QueryName\u

QueryName\u预处理查询
在形成查询时和执行之前发生

QueryName\u Executed
在执行查询后立即调用,因此应该会提供您试图获取的信息

您可以尝试以下方法:

partial void QueryName_Executed(QueryExecutedDescriptor queryDescriptor)
    {
        int resultCount = queryDescriptor.Results.Count();
    }

我相信你是对的。尝试从QueryName\u预处理查询更改为执行QueryName\u

QueryName\u预处理查询
在形成查询时和执行之前发生

QueryName\u Executed
在执行查询后立即调用,因此应该会提供您试图获取的信息

您可以尝试以下方法:

partial void QueryName_Executed(QueryExecutedDescriptor queryDescriptor)
    {
        int resultCount = queryDescriptor.Results.Count();
    }

这些方法具有不同的特征。更改名称无效。你知道有什么方法可以在_Executed方法中获得计数吗?那会解决我的问题。我以前尝试过使用queryDescriptor.Results属性,但是我找不到多少关于如何使用它的文档。你完全正确,对此表示抱歉。我会用你可以尝试的其他方法更新我的答案。我能够找到解决方案。我明天上班时会更新我的帖子。谢谢你的帮助!啊好的。我发现了一些例子,其中他们调用Results.Count()而不是.Count。你最近的编辑与我最终采用的方法相同。但是,我将queryDescriptor.Results转换为IEnumerable,但这并不仅仅是为了获得计数。我将把你的回答记为已被接受。不是因为你解决了我的问题,而是因为其他可能遇到和我同样问题的人。谢谢你的帮助!这些方法具有不同的特征。更改名称无效。你知道有什么方法可以在_Executed方法中获得计数吗?那会解决我的问题。我以前尝试过使用queryDescriptor.Results属性,但是我找不到多少关于如何使用它的文档。你完全正确,对此表示抱歉。我会用你可以尝试的其他方法更新我的答案。我能够找到解决方案。我明天上班时会更新我的帖子。谢谢你的帮助!啊好的。我发现了一些例子,其中他们调用Results.Count()而不是.Count。你最近的编辑与我最终采用的方法相同。但是,我将queryDescriptor.Results转换为IEnumerable,但这并不仅仅是为了获得计数。我将把你的回答记为已被接受。不是因为你解决了我的问题,而是因为其他可能遇到和我同样问题的人。谢谢你的帮助!