私のモデル:
public class Person
{
[Key]
public int IdPerson { get; set; }
public string Name { get; set; }
public List<Project> Projects { get; set; }
}
public class Project
{
[Key]
public int IdProject {get; set;}
public string Name { get; set; }
public ICollection<Person> Members { get; set; }
}
私の文脈:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Project>()
.HasMany(p => p.Members)
.WithMany(e => e.Projects)
.Map(pe =>
{
pe.ToTable("ProjectPersonTable");
pe.MapLeftKey("IdPerson");
pe.MapRightKey("IdProject");
});
}
今私がこれを行うとき:
Person person = personRepository.GetSingle(Idperson);
project.Members.Add(person);
人を2倍にします。これを行うときに、重複したり、新しい人を挿入したりしたくありません。
何故ですか?