나는 asp.net C#
웹 응용 프로그램을 작성하고 있습니다; 'table1
'이라는 이름의 메모리 내 데이터 테이블에 'country
', 'productId
'및 'productQuantity
'이라는 세 개의 열이 있습니다. 첫 번째 열 'country
'을 고정 열로 사용하고 동적 번호와 열 이름을 'product_1
', 'product_2
'등과 같이 새 테이블 ('table2
'이라고 가정)을 얻으려면 해당 테이블을 피벗시키고 싶습니다. , 'table1
'에있는 제품의 총 수에 따라 'product_n
'; 첫 번째 열 'country
'에 국가 이름이 포함되어야합니다. 동적 생성 된 열 'product_1
', 'product_2
', ..., 'product_n
'나는를 작성하는 LINQ 쿼리 식을 사용하고 지정된 국가linq 트리 표현식을 사용하여 동적 열 피벗 테이블을 만드는 방법
의 각 특정 제품에 대한 selled 된 productQuantity
를 포함해야합니다 암호; 문제는 내가 하드 코딩 할 수 없다는 것입니다 제품의 가치도 이름을; 나는 얼마나 많은 제품이 데이터 테이블에 존재하는지 예측할 수 없다. 지금은, 내가 다음 식을 사용하여 결과를 테스트하고 있습니다 :
view example image of the two tables table1 and table2
:var query = table1.AsEnumerable()
.GroupBy(c => c.country)
.Select(g => new
{
country = g.Key,
product_1 = g.Where(c => c.productId == "a30-m").Select(c => c.productQuantity).FirstOrDefault(),
product_2 = g.Where(c => c.productId == "q29-s").Select(c => c.productQuantity).FirstOrDefault(),
.
.
.
product_n = g.Where(c => c.productId == "g33-r").Select(c => c.productQuantity).FirstOrDefault()
});
내가 'table1
이'처럼 보이는 방법 방법에 대한 예를주는거야 '를 table2
'과 같이해야한다
아무도 날 linq 트리 표현식 또는 다른 linq 메서드를 사용하여 동적 열 피벗 테이블을 만드는 솔루션을 찾는 데 도움이 될 수 있습니다; 도움을 주시면 감사하겠습니다.
도움을 기다리고 있습니다 ... – user598956