Я использую файл Microsoft.AnalysisServices.AdomdClient.dll для подключения к Azure Analysis Service для выполнения запросов DAX в функции Azure, и мне нужно, чтобы он выплевывал в JSON. Ниже показано, как у меня дела, но когда есть обширные записи, я вижу задержку при преобразовании ответа в json. Ответ службы анализа за 2 секунды, но маскировка ответа на json занимает более 40 секунд. Может ли кто-нибудь помочь предложить лучший способ
AdomdCommand cmd = new AdomdCommand(query, _connect);
public List<Dictionary<string, object>> Results { get; } = new List<Dictionary<string, object>>();
var reader = cmd.ExecuteReader();
var schemeTable = reader.GetSchemaTable();
ISet<string> columnSet = new HashSet<string>();
foreach (DataRow row in schemeTable.Rows)
{
String columnName = row[0].ToString();
columnSet.Add(columnName);
}
while (reader.Read())
{
Dictionary<string, object> columns = new Dictionary<string, object>();
foreach (string columnName in columnSet)
{
var value = reader[reader.GetOrdinal(columnName)];
if (value != null)
{
columns.Add(columnName, value);
}
else
{
columns.Add(columnName, null);
}
}
Results.Add(columns);
}
JsonConvert.SerializeObject(Results)