2017-11-04 10 views
0

학생용으로 중복 된 항목이있는 등록 목록이 있습니다. 그렇다면이 중복 항목을 면도기 뷰에서 제거 할 수 있습니까? 나는 이것을 C#에서 처리 할 수 ​​있음을 알고 있지만 면도기 뷰에서 중복 된 항목을 제거하려고합니다. 다음은 내 코드입니다 : -면도기보기에서 모델 목록에서 중복 항목을 제거하는 방법

foreach (var stud in Model.Registrations) 
       { 
        <text> @registration.Student.FirstName @stud.Student.LastName </text><br /> 
       } 

가의 문 것입니다. -

 foreach (var stud in Model.Registrations.GroupBy(s => s.Student.ID).Select(g => g.First())) 
    { 
     // Student Name and ID 
    } 

위의 진술은 저에게 적합하지 않습니다. 이 작업을 수행하는 코드는 무엇입니까?

+0

먼저 컨트롤러에서 데이터 조작을 권장합니다. ViewModel을 사용하여 원하는 방식으로 모든 데이터를 설정하십시오. 그러나 위의 명령문을 사용하려면 GroupBy 또는 Select 끝에 .List()를 추가하십시오. – alikuli

+1

"중복"을 정의하십시오. 만약 당신의 모델이'GetHashCode'와'Equals'에있는 로직을 캡슐화한다면'.Distinct()'만 사용할 수 있습니다. – David

답변

0
foreach (var stud in Model.Registrations.GroupBy(x => x.Id).Select(y => y.First()).ToList()) 
    { 
    <text> @stud.Student.FirstName @stud.Student.LastName </text><br /> 
    } 

사용하는 하나의 고유 한 열이 독특한 행을 얻을 "GROUPBY (X => x.Id)"여기 내가 아이디를 사용하고 (예를 들어), 중복 행을하지 않도록 ..