フォームレコードを保存しようとしましたが、クライアント側からエンティティを取得しましたが、たびに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
に主キー制約を作成します。 Entity Frameworkを使用している場合は、データベース内のPersonalID'プロパティ –
の属性として '[DatabaseGenerated(DatabaseGeneratedOption.Identity)]'を設定する必要があります。私はPersonalIDを持っています。常に0をとります – muco