bu soruya itibaren ardından:Neden ToDictionary <K,V>(), SQL için LINQ ile kullanıldığında bir derleyici hatası oluşturur?
DomainID int
DomainName varchar(250)
Ben Dictionary<int, string>
dönmek istiyorum:
Ben olduğunuz bir tablo olarak adlandırılan Domains
, iki sütun vardır. Ben SQL koduna aşağıdaki LINQ birini çalıştığınızda:
Dictionary<int, string> dict =
dbc
.Domains
.Select(d => new {d.DomainID, d.DomainName})
.AsEnumerable()
.ToDictionary<int, string>(k => k.DomainID, k => k.DomainName);
veya
Dictionary<int, string> dict =
(from d in dbc.Domains
select new { d.DomainID, d.DomainName })
.AsEnumerable()
.ToDictionary<int, string>(k => k.DomainID, k => k.DomainName);
aşağıdaki derleme hatası alıyorum:
Instance argument: cannot convert from 'System.Collections.Generic.IEnumerable<AnonymousType#1>' to 'System.Collections.Generic.IEnumerable<int>'
senaryo burada aynı görünüyor q245168 ve işe yaramalı, açık bir şey eksik miyim?
Alkış
Aaahh! şimdi çok açık. Takdir. – Kev
AsEnumerable() gerekli mi? – Svish
@Svish: görünmüyor. – Kev