【发布时间】:2017-03-13 17:24:34
【问题描述】:
是否可以在多对多关系中插入重复行?这是我的课:
public class EventPaintballBundle
{
[Key, Column(Order = 0)]
public int EventID { get; set; }
[Key, Column(Order = 1)]
public int PaintballBundleID { get; set; }
public virtual Event Event { get; set; }
public virtual PaintballBundle PaintballBundle { get; set; }
[Range(1, Int32.MaxValue)]
public int PersonCount { get; set; }
[Required]
public DateTime Data { get; set; }
}
我想插入这些值的第二行。区别在于日期 Date 和 PersonCount 值
EventPaintballBundle xx = new EventPaintballBundle() { PaintballBundleID = 1, EventID = 155, Data = DateTime.Now, PersonCount = 5 };
dc.EventPaintballBundles.Add(xx);
dc.SaveChanges();
我想插入两个键的副本时出错。
{"违反主键约束'PK_dbo.EventPaintballBundles'。 无法在对象“dbo.EventPaintballBundles”中插入重复键。这 重复键值为 (155, 1)。\r\n语句已被 终止。”}
如何解决这个问题?
【问题讨论】:
-
您能否展示您如何创建一个
EventPaintballBundle对象并将其插入到您的数据库中? -
好的,看看我编辑的帖子
-
但是你不能插入两行相同的
EventID和PaintballBundleID,这些是你实体的PK -
您不能插入重复的主键,就像人们没有重复的 SSN 一样。不用管它们,sql server 会自动分配这些键。
-
但是我需要与另一个
Date和PersonCount重复,那我该如何解决呢?
标签: asp.net asp.net-mvc entity-framework many-to-many entity