在有多对多关系时防止重复

时间:2014-09-04 13:32:13

标签: c# asp.net entity-framework

我有一份分析师名单。 每个分析师都有一个扇区列表

public class Analyst : EntityNamed
{
  List<Sector> sectors;
}

public class Sector: EntityNamed
{
  List<Analyst> Analysts;
}

 // I'm using a WCF service to get all the analyst :

public List<Analyst> GetAnalyts()
{
 DataSet ds = EServiceClient.GetAnalysts();
 foreach (DataRow row in ds.Tables[0].Rows)  {
           var analyst = new Analyst()
            {
                  Name = row[1].ToString(),
                  LastName = row[2].ToString(),
                  PhoneNumber = row[3].ToString(),
                  Email = row[4].ToString()
           };
    }

//do something to prevent duplication of secotrs
}

行业按名称区分

如何在不重复数据库中的扇区的情况下做到这一点?

由于

1 个答案:

答案 0 :(得分:0)

您可以使用词典来阻止 通常字典&lt;键,值&gt;只支持Same Key的预防

但据我所知,你不想要任何比赛。我的意思是1-2和2-1是你的相同记录。 因此,您可以为此目的实现哈希表

Hashtable with MultiDimensional Key in C#

我认为,通过重写GetHashCode,Equals方法可以实现目标。

希望有所帮助,希望我能回答正确的问题。