Как правильно хранить запросы в программе на C #? - PullRequest
0 голосов
/ 17 февраля 2019

Я написал программу, которая использует API Azure для выполнения запросов к хранилищу аналитики журнала Azure.

Язык, используемый для написания этого запроса, называется Kusto.

У меня много запросов Kusto, которые я использовал непосредственно в своем коде C #.

Примерно так:

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

Некоторые запросы очень длинные и делают код очень уродливым.

Есть ли лучший и более подходящий способ хранения этих запросов, например, в базе данных, который поможет удалить их из кода.

Ответы [ 2 ]

0 голосов
/ 17 февраля 2019

Для EF-миграции я использую sql, который хранится в библиотеке слоя данных в ресурсах, и после этого вызывается так:

private string ReadSqlFile(string relativePath)
{
    var path = Path.Combine(AppContext.BaseDirectory, relativePath);
    return File.ReadAllText(path);
}

protected override void Up(MigrationBuilder migrationBuilder)
{
    //some migrations methods
    var script = ReadSqlFile("Migrations/DataMigration/AddNewCountryFieldToStudent.sql");
    migrationBuilder.Sql(script);
}

Очень полезно хранить в отдельных файлах.И не забудьте изменить свойство для локального копирования.

0 голосов
/ 17 февраля 2019

Вы можете сохранить запросы в виде текстовых файлов вместе с вашим исходным кодом, а затем упаковать их в свое приложение как «Встроенные ресурсы».

Принятый ответ в этом посте объясняет, как: Какчитать текстовый файл встроенного ресурса

Вы также можете найти множество примеров и учебных пособий в своей любимой поисковой системе;попробуйте "c # встроенный ресурс"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...