반응형
Linq-SQL ToDictionary ()
Linq를 사용하여 SQL (2008)의 두 열을 사전 (캐싱 용)으로 올바르게 변환하려면 어떻게해야합니까?
현재 IQueryable b / c를 반복하여 ToDictionary 메서드를 작동 할 수 없습니다. 어떤 아이디어? 이것은 작동합니다 :
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);
}
내가 정말로하고 싶은 것은 다음과 같이 작동하지 않는 것 같습니다.
var dic = (from p in db.Table
select new {p.Key, p.Value })
.ToDictionary<string, string>(p => p.Key);
하지만이 오류가 발생합니다. 'System.Linq.IQueryable'에서 'System.Collections.Generic.IEnumerable'로 변환 할 수 없습니다.
var dictionary = db
.Table
.Select(p => new { p.Key, p.Value })
.AsEnumerable()
.ToDictionary(kvp => kvp.Key, kvp => kvp.Value)
;
키를 정의 할 뿐이지 만 값도 포함해야합니다.
var dic = (from p in db.Table
select new {p.Key, p.Value })
.ToDictionary(p => p.Key, p=> p.Value);
감사합니다. 귀하의 답변은이 문제를 해결하는 데 도움이되었습니다.
var dic = db
.Table
.Select(p => new { p.Key, p.Value })
.AsEnumerable()
.ToDictionary(k=> k.Key, v => v.Value);
테이블의 모든 항목을 변환하기 위해 익명 개체를 만드는 이유는 무엇입니까?
다음과 같이 간단히 사용할 IDictionary<string, string> dic = db.Table.ToDictionary(row => row.Key, row => row.Value);
수 있습니다. Table과 ToDictionary () 사이에 AsEnumerable () 호출을 포함해야 할 수도 있습니다. db.Table의 정확한 유형을 모르겠습니다.
또한 첫 번째 샘플을 수정하면 두 번째 루프 변수가 선언 및 사용에서 일치하지 않습니다.
참고 URL : https://stackoverflow.com/questions/245168/linq-to-sql-todictionary
반응형
'programing' 카테고리의 다른 글
문자열이 Scala의 Regex와 완전히 일치하는지 확인하는 방법은 무엇입니까? (0) | 2020.10.12 |
---|---|
"visibility : collapse"와 "display : none"의 차이점 (0) | 2020.10.12 |
Facebook 스타일 JQuery 자동 완성 플러그인 (0) | 2020.10.12 |
JavaBeans 대신 변경 불가능한 POJO를 사용하면 안되는 이유는 무엇입니까? (0) | 2020.10.12 |
Eclipse에서 AVD 대신 Android 휴대폰으로 내 앱을로드하는 방법 (0) | 2020.10.12 |