类别:
public class BranchAds
{
[Key, Column(Order = 0)]
[ForeignKey("branch")]
public int branch_id { get; set; }
[Key, Column(Order = 1)]
[ForeignKey("ad")]
public int advertisement_id { get; set; }
[JsonIgnore]
public virtual Branch branch { get; set; }
public virtual Advertisement ad { get; set; }
[JsonProperty("start_time")]
public DateTime start_time { get; set; }
[JsonProperty("end_time")]
public DateTime end_time { get; set; }
public DateTime date { get; set; }
}
此错误:
违反PRIMARY KEY约束'PK_dbo.BranchAds'。无法在对象'dbo.BranchAds'中插入重复键。重复键值为(1,26)。
当我尝试使用相同的键插入另一个BranchAd时发生..好吧我应该理论上这是一个多对多(联结)表。但是数据库似乎没有意识到这一点。
为什么我这样做?因为我需要多对多表中的自定义字段。
我该怎么做才能解决这个问题?无需向BranchAds类添加[Key]
。
答案 0 :(得分:0)
如果BranchAds
是您的中间表,那么我就不会在您的对象上看到任何PK定义。您是否在数据库级别强制执行复合PK约束(分支+广告)?