2
この質問に続いて:私はDictionary<int, string>
を返すようにしたいなぜToDictionary <K,V>()はLINQ to SQLで使用するとコンパイラエラーを生成しますか?
DomainID int
DomainName varchar(250)
:
私はテーブルがDomains
と呼ばれる持っている、2つの列があります。私はSQLコードに次のLINQのいずれかをしようとすると:
Dictionary<int, string> dict =
dbc
.Domains
.Select(d => new {d.DomainID, d.DomainName})
.AsEnumerable()
.ToDictionary<int, string>(k => k.DomainID, k => k.DomainName);
または
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);
私は以下のコンパイルエラーが出る:
Instance argument: cannot convert from 'System.Collections.Generic.IEnumerable<AnonymousType#1>' to 'System.Collections.Generic.IEnumerable<int>'
をここでのシナリオは同じようですq245168と動作するはずですが、私は何か明白なものを紛失していますか?
乾杯
ケヴ
Aaahh!今明らかです。感謝。 – Kev
AsEnumerable()は必要ですか? – Svish
@スヴィッシュ:そうではないようです。 – Kev