我尝试保存表单记录,并从客户端获取实体,但每次需要PersonalId = 0
,这将是重复的主键错误。如何防止C#中的重复主键?
我该如何解决这个问题?
public ActionResult SavePersonal(PersonalViewModel model)
{
try
{
StorageSystemEntities1 db = new StorageSystemEntities1();
Personal personal = new Personal();
personal.PName = model.PName;
personal.PLastname = model.PLastname;
personal.PStatus = model.PStatus;
personal.ShopId = model.ShopId;
personal.PPassword = model.PPassword;
personal.GenderID = model.GenderID;
personal.DOB = model.DOB;
personal.Email = model.Email;
personal.JobStartDate = model.JobStartDate;
personal.PAuthorisation = model.PAuthorisation;
personal.Phone = model.Phone;
db.Personal.Add(personal);
db.SaveChanges();
int latestPersonalId = personal.PersonalID;
}
catch (Exception ex)
{
throw ex;
}
return RedirectToAction("_AddPersonal");
}
您在数据库表使用IDENTITY列,并创建在同一列 – Steve
^^^^随着身份种子和增量主键约束。如果你使用实体框架,你需要把'[DatabaseGenerated(DatabaseGeneratedOption.Identity)]'作为一个属性在'PersonalID'属性 –
在数据库中我有PersonalID,我想增加它每次保存recort,但它总是需要0 – muco