私は自分の例を完全に間違って表現したことに気付いたので、前もってお詫びします。ご回答いただいた皆様には、心より感謝申し上げます。もっと正確な説明でもう一度説明させてください。回答を編集してください。前回の投稿で正確でなかったことを改めてお詫び申し上げます。
Staging(Stagingテーブルの表現)と呼ばれるエンティティフレームワークモデルクラスを使用すると、次のようになりますList<Staging>
。
List<Staging> data = (from t in database.Stagings select t).ToList();
//check for an empty List...react accordingly...
これがどのように見えるかを簡単に見てみましょうStaging
:
public partial class Staging
{
public int ID { get; set; } //PK
public int RequestID { get; set; } //FK
...
public string Project { get; set; }
...
}
data
クエリが10レコードを私のリストに返すと仮定しましょう。また、、、およびそれぞれの値が同じdata[3]
であると仮定します。たとえば、。値は実行時までわかりません。data[6]
data[7]
data.Project
"Foo"
data.Project
これを考えると、最初のオカレンスをどのように保持しdata[3]
、を削除data[6]
してdata[7]
から削除しList<Staging>
ますか?
編集: 私は動作する次のコードを持っていますが、別の方法はありますか?
HashSet<string> projectValuesFound = new HashSet<string>();
List<Staging> newData = new List<Staging>();
foreach (Staging entry in data)
{
if (!projectValuesFound.Contains(entry.Project))
{
projectValuesFound.Add(entry.Project);
newData.Add(entry);
}
}