我有一个像这样的 Person 实体类型:
public partial class Person
{
public int PersonID { get; set; }
public byte Gender { get; set; }
public string IDNumber { get; set; }
}
当我创建一个新的人以将他保存到数据库时,主键 PersonID 设置为 0,而不是 null。
编码:
var theNewGuy = new MyEntities.Person();
在这一行之后,theNewGuy.PersonID = 0。问题是,我如何告诉它插入一个新的 Person 并为其分配下一个可用的主键?显然,我不希望它为 0,但数据库中已经有一个 PersonID = 0;
保存代码:
Velo.People.Add(theNewGuy);
Velo.SaveChanges();//throws error
抛出异常: 违反主键约束“PK_PERSON”。无法在对象“dbo.Person”中插入重复键。重复键值为 (0)。该语句已终止。