SQL Server에 3 개의 열, 도메인, 키 및 값이있는 테이블이 있습니다. 닷넷에서 사용할 수있는 해시로 끝내고 싶습니다. EF 4.0을 사용하고 있습니다. LINQ to hash - 캐스팅 권한을 얻을 수 없습니다!
처음에 나는 시도 :List<Dictionary<string, string>> myHash = db.Registries
.Where(x => x.Domain == "Pricing")
.Select(x => new { Key = x.Key, Value = x.Value });
불평하는 :
오류 3 암시 'System.Collections.Generic.List>'에 유형 'System.Linq.IQueryable을'변환 할 수 없습니다. 문서 프로젝트 \ 비주얼 스튜디오 2010 \ \ \ 사용자 \ SkillScore \ 웹 사이트 \ 컨트롤러는 HomeController.cs 그렇게 분명히 53 (21) 웹 사이트
유형을 \ ekkis \ 명시 적 변환 C는 (? 당신이 캐스트를 누락) 존재 선택을 조정해야합니다. 나는 30 분 (나는 너무 쓸모가 없어!) 일을하지 않고 그것을 망쳤다. (하나님 나는 IRC를 놓친다.) 누구 한테 도움이 되니?
는List<Dictionary<string, string>> myHash = db.Registries
.GroupBy(x => x.Domain)
.Select(g => g.ToDictionary(x => x.Key,
x => x.Value))
.ToList() ;
이 각 도메인에 대해 별도의 사전을 만들고 목록에 그들 모두를두고 : 이것은 당신이 필요처럼
네, 시도 했어요 : .Select (x => (Dictionary) new {...}) –
ekkis
캐스트도>() 우리가 알고 있듯이 EF 기본 유형 –
ekkis
에만 캐스트 할 수 있다고 불평합니다. .Select (x => new Dictionary() {x.Key, x.값}} - 'Add'에 대한 오버로드 메서드가 하나의 인수를 가짐 –
ekkis