У меня есть список, сгенерированный из длинного запроса, который используется для передачи отчета.
var result =
from..
where..
select new { sale.Id, Username = u.Name, Amount = p.amount};
output = result.Tolist();
Однако я бы хотел избавиться от этого длинного запроса, создав вместо этого свой собственный список значений. Поэтому я создаю словарь для хранения ключа и значения.
Моя цель - преобразовать словарь обратно в список, который имеет такой же вывод, как и запрос выше, чтобы его можно было добавить в мой отчет
public static object GetSalesDataBySaleOrderID(SaleOrder sale)
{
List<KeyValuePair<string, object>> list = new List<KeyValuePair<string, object>>();
for (int i = 0; i < sale.saleOrderItem.Count(); i++)
{
Dictionary<string, object> result = new Dictionary<string, object>()
{
{sale.Id.ToString(), sale.Id},
{"UserName", sale.User.GetSingleUserById(sale.saleOrderItem[i].UserId).Name},
{"Amount", sale.saleOrderItem[i].Amount},
};
list.Add(result);
}
return list;
}
Я получил ошибку в list.Add(result);
Ошибка 5 Аргумент '1': невозможно преобразовать из 'System.Collections.Generic.Dictionary' в 'System.Collections.Generic.KeyValuePair'
--- EDIT ------------
Я изменил на List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
, и это решило мою ошибку.
Однако я все еще получаю значение в формате словаря

Это должен быть предполагаемый формат вывода в списке
