我先道歉,因为我现在意识到我完全用错了我的例子。对于那些做出回应的人,我真的很感激。请让我重新尝试以更准确的细节进行解释。请编辑您的回复,对于我之前的帖子没有更准确,我再次表示歉意。
使用名为 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; }
...
}
让我们假设查询将 10 条记录返回到我的data
列表中。让我们还假设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);
}
}