2017-11-04 3 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 /> 
    } 

あなたが重複行を取得しないように、私は、(一例として)IDを使用していますここ 「GROUPBY(X => x.Id)」に一意の行を取得するためにいずれかの一意の列を使用します。..

関連する問題