Sto usando Dapper per recuperare un set di risultati a 2 colonne in un dizionario. Ho notato che intellisense mi mostra un .ToDictionary() quando mi passa il mouse sopra il gruppo di risultati, ma non riesco a farlo funzionare dal momento che Dapper utilizza le proprietà dinamiche/expandoObjectcome convertire Dizionario <dinamico, dinamico> in Dizionario <stringa, stringa> utilizzando Colllection.ToDictionary()
Dictionary<string, string > rowsFromTableDict = new Dictionary<string, string>();
using (var connection = new SqlConnection(ConnectionString))
{
connection.Open();
var results = connection.Query
("SELECT col1 AS StudentID, col2 AS Studentname
FROM Student order by StudentID");
if (results != null)
{
//how to eliminate below foreach using results.ToDictionary()
//Note that this is results<dynamic, dynamic>
foreach (var row in results)
{
rowsFromTableDict.Add(row.StudentID, row.StudentName);
}
return rowsFromTableDict;
}
}
grazie
sì. questo lo fa grazie – Gullu
+1 per aver ricordato di escludere 'dinamico'. –
La dinamica è buona, ma ha un sacco di trappole come il bisogno di ricondurre i tipi statici. –