在C#程序中存储查询的正确方法是什么?

时间:2019-02-17 18:36:53

标签: c# .net azure-log-analytics

我编写了一个程序,该程序使用Azure API对Azure日志分析存储库运行查询。

用于编写此查询的语言称为Kusto。

我有很多Kusto查询,可以直接在C#代码中使用。

类似的东西:

Client.ExecuteQuery(@"Heartbeat 
| summarize LastCall = max(TimeGenerated) by Computer 
| where LastCall < ago(15m)
| take 20");

某些查询很长,使代码非常难看。

有没有更好,更合适的方法来存储这些查询,例如将其存储在数据库中,从而有助于将其从代码中删除。

2 个答案:

答案 0 :(得分:1)

您可以将查询与源代码一起另存为文本文件,然后将其与应用程序一起打包为“嵌入式资源”。

本文所接受的答案解释了如何:How to read embedded resource text file

您还可以通过自己喜欢的搜索引擎找到大量示例和教程;尝试“ c#嵌入式资源”

答案 1 :(得分:1)

对于EF迁移,我使用存储在资源中数据层库中的sql,并在调用之后像这样:

foo

将其存储在单独的文件中非常有用。并且不要忘记更改属性以在本地复制。