2012-07-11 2 views
0

나는 NHibernate와 함께 asp.net mvc 응용 프로그램을 개발하고 있으며 열의 행을 어떻게 변환 할 수 있는지 알고 싶습니다. 열의 행 변환

는이 같은 모델로 동적 시스템을 가지고 :

// It's a kind of metadata 
public class Field 
{ 
    public virtual long Id { get; set; } 
    public virtual string Name { get; set; } 
} 

// the value is here with respective field 
public class FieldValue 
{ 
    public virtual long Id { get; set; } 
    public virtual Field Field { get; set; } 
    public virtual string Value { get; set; } 
} 

내가이 뷰 모델을 만들어야합니다, 열 필드의 객체가 있고 값이 fieldValue의 객체 어디 결과를 얻을 수있는 방법을 알고 싶습니다 ? 또는 asp.net mvc 함께 할 수있는 방법?

enter image description here

을하지만이 같은 쿼리 (또는 ASP 내보기에 결과를 만드는 방법을 싶습니다 :

나는이 같은 결과를 얻을 쿼리를 할 수 있습니다. 순 MVC) :

enter image description here

감사

+0

"필드 개체 ​​및 값은 FieldValue 개체입니다."의미가 명확하지 않습니다. – Chandu

+0

쿼리에서 반환 된 결과 집합 * 피벗 *을 의미합니까? –

+0

안녕 얘들 아, 미안, 내 편집 좀 봐, 더 나은 설명을 몇 가지 imagens를 추가! 고마워요 –

답변

1

당신이 GroupBy()를 좋아할 필요가 있다고 생각합니다. 필드별로 그룹화하면 필드의 모든 값을 "그룹화"한 다음 다음 필드로 이동합니다. 의사 코드는 다음

@model IEnumerable<FieldValue> 

foreach(var fields in Model.GroupBy(x=>x.Field.Name){ 
    <h2>fields.key</h2> 
    <ul> 
     foreach(var fieldValue in fields){ 
      <li>@fieldValue.Value</li> 
     } 
    </ul> 
} 

같은 것이 렌더링 할 게

필드 1

  • 일부 값과 같은 1
  • 일부 값이

필드 2

  • 이 방법을 사용하여 일부 값 3
  • 일부 값 4

, 당신은 당신이 원하는 출력을 얻을 싶어하지만 서식을 제어 할 수 있습니다.

+0

감사합니다. @ 토미, 나중에 다시 시도하여 awser를 확인합니다. :) –

0

질문에 명확하지 않습니다. 행을 열로 변환하려면 피벗을 사용할 수 있습니다. 하지만 난 대신 transpose 결과 집합을 반환하도록 결과 집합에 대한 운영 제안합니다. 나는 쿼리 자체의 열로의 행 변환을 처리하는 것을 의미했습니다.

+0

안녕하세요, 가능한지 확실하지 않지만 편집 내용을 살펴보고 이미지를 추가합니다. –

관련 문제