Jak poprawnie przekonwertować dwie kolumny z SQL (2008) używając Linq do słownika (do buforowania)?Linq-to-SQL ToDictionary()
Obecnie przechodzę przez IQueryable b/c Nie mogę uruchomić metody ToDictionary. Jakieś pomysły? to działa:
var query = from p in db.Table
select p;
Dictionary<string, string> dic = new Dictionary<string, string>();
foreach (var p in query)
{
dic.Add(sub.Key, sub.Value);
}
Co naprawdę chciałbym zrobić, to coś takiego, co nie wydaje się działać:
var dic = (from p in db.Table
select new {p.Key, p.Value })
.ToDictionary<string, string>(p => p.Key);
Ale otrzymuję ten błąd: nie można przekonwertować z ' System.Linq.IQueryable”do«System.Collections.Generic.IEnumerable»
Niestety, być może nie było jasne, próbowałem wcześniej, ale to tworzy słownik, a nie słownik –
Codewerks
Wypróbuj 'kvp => kvp.Value jako ciąg '. Punktem odpowiedzi była '.AsEnumerable()'. – yfeldblum
Dzięki, tak, pomyślałem, że AsEnumerable było potrzebne, ale wywołanie ToDictionary nadal nie działa. Obie kolumny są varcharami w SQL, więc wracają jako ciągi znaków, ale nie mogę wymyślić, jak je wprowadzić do Dic ... – Codewerks