如何将 T-SQL NOT IN Query 转换为 KQL 并在 C# 中使用参数限制批大小

How to convert T-SQL NOT IN Query into KQL and limit batch size with parameter in C#

我目前正在处理 ADX,需要将以下 SQL 查询转换为 KQL

SELECT UserId, Column2, Column3 from Table1 t
where t.UserId NOT IN (Select UserId from Table2)
and t.Type = 'Something'

我还需要使用 C# 中的以下代码使用从 .net core function app 传递的一些可配置批量大小参数来限制结果集,这样它就不会返回数十亿申请记录

        using (var queryProvider = KustoClientFactory.CreateCslQueryProvider(kustoConnectionStringBuilder))
        {
            var query = "Table1  | count";

            using (var reader = queryProvider.ExecuteQuery(Database, query,null))
            {
                while (reader.Read())
                {
                   // Console.WriteLine(reader);
                    
                }
            }
        }

要开始 SQL 到 KQL 的翻译,您可以使用“解释”命令,查看更多 here

关于传递大小参数,可以在代码中追加查询文本"| take X"(其中X为记录数),也可以使用query parameters.