1
重複行我有這兩個表在多對多關係EF 5.0
[Table("Designs")]
public class Design
{
[Key]
public Int64 ID { get; set; }
public string Title { get; set; }
public virtual ICollection<Tag> Tags { get; set; }
}
和
[Table("Tags")]
public class Tag
{
[Key]
public int ID { get; set; }
public string Name { get; set; }
public virtual ICollection<Design> Designs { get; set; }
}
這是我的上下文
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
this.Configuration.ValidateOnSaveEnabled = false;
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Design>().HasMany(m => m.Tags).WithMany(m => m.Designs).Map(m => { m.MapLeftKey("DesignID"); m.MapRightKey("TagID"); m.ToTable("DesignsToTags"); });
}
有一些標籤
,這是交叉表
我嘗試更新標籤設計
public Design EditDesign(Design design, int[] newTags)
{
var entry = ctx.Entry(design);
entry.Collection(m => m.Tags).Load();
design.Tags = newTags.Select(m => ctx.Tags.Find(m)).ToList();
entry.State = System.Data.EntityState.Modified;
ctx.SaveChanges();
return design;
}
這個代碼添加在標籤表(ID == 3和重複值16相同),但在DesignsToTags表一切正常
如何防止添加重複值?