Я получаю результаты от Dapper as a Dictionary:
using (var multi = cnn.QueryMultiple("dbo.[s_Dashboard_stats]",
commandType: CommandType.StoredProcedure))
{
var recentHits =
multi.Read().ToDictionary(x => (string)x.URL, x => (double)x.MinsAgo);
}
Это работало нормально, но изменение данных привело (правильно) к дублированию значений ключа. Чтобы обойти это, я подумал, что вместо этого изменю словарь на список:
var PopularHits =
multi.Read<KeyValuePair<string, double>>().ToList<KeyValuePair<string, double>>();
Список заканчивается элементами, но значения KVP равны нулю. Как спроецировать значения в объекты KeyValuePair? Кажется, я не могу правильно понять синтаксис лямбда.....
multi
- это средство чтения с несколькими сетками, возвращенное изQueryMultiple
, хотя следует отметить, что при чтении одной сетки в этом нет необходимости - этот запрос можно прочитать с помощьюQuery
- person Marc Gravell   schedule 06.12.2013select
, что может быть полезно, например,select * from Customers where Id=@id; select * from Orders where CustomerId=@id; select * from CustomerAddresses where CustomerId=@id;
(или что-то еще) - person Marc Gravell   schedule 06.12.2013