-1

問題は、オブジェクトのリストがあり、一部に同じ PlanId プロパティ値が含まれていることです。それらの最初のオカレンスのみを取得し、その PlanId を持つ次のオブジェクトを無視したいと考えています。根本的な問題はデータベースのビューですが、どこにでも関連付けられており、それを変更すると期限が近づいている大量のものが壊れるかどうかわからないので、今のところハックを投げています。

したがって、そのような PlanObjects のリストがあるとします。

  • Plan1.PlanId = 1
  • Plan2.PlanId = 1
  • Plan3.PlanId = 2
  • Plan4.PlanId = 3
  • Plan5.PlanId = 4
  • Plan6.PlanId = 4

そこから LINQ でサブリストを取得したい (イタリック体は項目が含まれていないことを意味する)

  • Plan1.PlanId = 1
  • Plan2.PlanId = 1
  • Plan3.PlanId = 2
  • Plan4.PlanId = 3
  • Plan5.PlanId = 4
  • Plan6.PlanId = 4

私のニーズでは、どちらが最初に取られるかは問題ではありません。Id は、データベース レコードを更新するために使用されます。

十分に説明していない場合はお知らせください。質問を編集します。私はそれが理にかなっていると思います。

4

2 に答える 2

1
PlanObjects.GroupBy(p => p.PlanId).Select(r => r.First());
于 2012-04-04T14:09:59.220 に答える