我有一个班级Team Home
和Team Guest
另一个班级。
public class Match
{
[DataMember]
public Guid Id { get; set; }
[DataMember]
public virtual Tour Tour { get; set; }
[DataMember]
public DateTime DateMatch { get; set; }
[DataMember]
public virtual Team Home { get; set; }
[DataMember]
public virtual Team Guest { get; set; }
[DataMember]
public virtual Result Result { get; set; }
}
当我尝试添加Match
时:
违反PRIMARY KEY约束'PK_dbo.Teams'。无法插入 对象'dbo.Teams'中的重复键。重复的键值是 (06f67648-f904-4a4e-8ceb-33c204d8267c)。声明一直如此 终止。
我不知道如何添加匹配Teams
已经存在
答案 0 :(得分:0)
正如@DevilSuichiro正确提到的那样,您无需填写导航属性。为所有导航属性添加外键,如下所示:
public virtual int HomeId { get; set; }
[DataMember]
[ForeignKey("HomeId")]
public virtual Team Home { get; set; }
然后,当您需要添加新的Match
时,只需填写HomeId
并将Home
属性设置为null
,这样就不会将其重新添加到数据库中。