0

컨트롤러는 D3.js 꺾은 선형 차트의 원본으로 사용되는 데이터를 반환해야합니다. 컨트롤러에서 객체 목록을 얻었고 "Begin"속성과 Count (Begin) 속성에만 관심이 있습니다. Begin은 datetime이고 원하는 것은 "Begin"이 같은 날에있는 모든 Object를 그룹화 한 다음 각 날의 수를 세는 것입니다.

이 정보를 선택하여 다음과 같이 반환하려고합니다.

        var results = from a in db.Questionaires
                  group a by a.Begin.Date into g
                  select new { Date = g.Key, Count = g.Count() };

        return Json( results, JsonRequestBehavior.AllowGet);

불행히도, group by 절이 잘못되었습니다 ( "지정된 유형 멤버 'Date'는 LINQ to Entities에서 지원되지 않습니다. 이니셜 라이저, 엔터티 멤버 및 엔터티 탐색 속성 만 지원됩니다. ').

정보를 올바르게 선택하는 방법? 누구든지 D3.js와 MVC에 대한 몇 가지 예를 갖고 있다면 감사히 생각합니다.

1 답변


1

이걸 시도해야 해.

var results = from a in db.Questionaires
                  group a by new { y = a.Begin.Year, m = a.Begin.Month, d = a.Begin.Day} 
                  into g
                  select new { Day = g.Key.d, Year = g.Key.y, 
                              Month = g.Key.m, Count = g.Count(),
                              Date = g.Select(d=>d.Begin).FirstOrDefault() };


  • 감사! 결과로 Date (dd.mm.yyyy)와 Count 만 가져 오려면 어떻게해야합니까? 연결 중 (.. + ". " + ..) 작동하지 않음 - peter
  • 난 당신이 직접 데이터베이스 서버에서 실행될 것입니다 linq 쿼리에서 할 수 있는지 모르겠습니다. 이러한 내부 값을 사용하여 Date / DateTime 객체를 제공 할 객체에 읽기 전용 속성이있을 수 있습니다. - AD.Net
  • 약간 수정 했어. 당신이 datetime을 얻기 위해 그렇게 할 수 있는지 보아라. - AD.Net

관련된 질문

최근 질문