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,但这并不仅仅是为了获得计数。我将把你的回答记为已被接受。不是因为你解决了我的问题,而是因为其他可能遇到和我同样问题的人。谢谢你的帮助!