gpt4 book ai didi

c# - 将 KQL 查询使用的所有表名放入 C# 中的列表中

转载 作者:行者123 更新时间:2023-12-02 18:05:41 26 4
gpt4 key购买 nike

假设我有一个 KQL 查询,它使用多个表来检索数据。我需要用 C# 编写一些代码,它将获取给定 KQL 查询使用的所有表,并将所有这些表名称放入列表中。

简单地说:我需要分析每个 KQL 查询以了解它从哪些表获取数据。

我已经尝试通过编写以下代码来做到这一点:

var query = "Table1 | project a ,b,c";
var code = KustoCode.Parse(query);‏
var parseCode = code.Analyze();
Console.WriteLine(parseCode.ResultType.Display.ToString());

但这不会返回名称,而是返回此查询使用的名称,这不是我想要的。

如果您能帮我解决这个问题,我将不胜感激!

最佳答案

感谢您的帮助!我终于找到了解决方案,所以这是我的代码:

var code = KustoCode.Parse(query).Analyze();

SyntaxElement.WalkNodes(code.Syntax,
Operator =>
{
if (Operator is Expression e && e.RawResultType is TableSymbol && Operator.Kind.ToString() == "NameReference")
tables.Add(e.ToString());
})

关于c# - 将 KQL 查询使用的所有表名放入 C# 中的列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73322172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com