1
我寫了一個程序,它是將近一年,他被工作正常,但我最近在數據庫中,錯誤增加了一個新的項目EF,SQL Server和重複的PK錯誤
違反PK_dbo的PRIMARY KEY約束」。帳戶。無法在對象'dbo.Accounts'中插入重複鍵。重複的鍵值是(110603267)。
我面臨。沒有什麼特別的事情發生,我不知道爲什麼會出現這個錯誤。 [Key]的Id字段,類型爲long。並且在數據庫中是身份。 可以這樣說,任何時候您嘗試添加Id的新項目(「110603267」)都已更改,並且錯誤是一個其他ID。
使用ASP.NET MVC編寫EF。請告知如何解決此問題。感恩
我的模型:
public partial class Account
{
[Key]
public long ID { get; set; }
[Required(ErrorMessage = "*")]
[System.Web.Mvc.Remote("CheckExistUser", "ManageAccount", ErrorMessage = "این نام کاربری قبلا ثبت شده", HttpMethod = "POST")]
[StringLength(10, MinimumLength = 10, ErrorMessage = "کد ملی 10 رقم می باشد")]
[Display(Name = "کد ملی")]
public string Name { get; set; }
[Display(Name = "رمز عبور")]
[Required(ErrorMessage = "*")]
[MinLength(6, ErrorMessage = "حداقل 6 کاراکتر")]
//[DataType(DataType.Password)]
public string Password { get; set; }
[Display(Name = "تکرار رمز عبور")]
[Required(ErrorMessage = "*")]
// [DataType(DataType.Password)]
[System.Web.Mvc.Compare("Password", ErrorMessage = "عدم تطابق کلمه عبور")]
public string PasswordRe { get; set; }
[Display(Name = "امضا")]
public string Signature { get; set; }
[Display(Name="ایمیل")]
[System.Web.Mvc.Remote("CheckExistEmail", "ManageAccount", ErrorMessage = "این ایمیل قبلا ثبت شده", HttpMethod = "POST")]
public string Email { get; set; }
[ForeignKey("GroupID")]
public virtual Group Group { get; set; }
public long? GroupID { get; set; }
[ForeignKey("ActorID")]
public virtual Actor Actor { get; set; }
public long? ActorID { get; set; }
[Display(Name = "شماره همراه")]
[Required(ErrorMessage = "*")]
public string Mobile { get; set; }
}
我的代碼:
var tempAccount = new Account
{
Name = tempCodeMeli,
Password = SecurityManager.HashData(mobile),
PasswordRe = SecurityManager.HashData(mobile),
Mobile = mobile,
IsActive = true,
_ Date = DateTime.Now
};
dbContext.Accounts.Add(tempAccount);
dbContext.SaveChanges();
需要更多的細節,特別是現有的代碼。 – cjb110
你能顯示一些代碼嗎?聽起來就像你試圖插入一個已經存在但需要唯一的Id的實體。 –
而且不要只是粘貼全部**代碼。製作[MCVE]來說明您的問題。 –