1
は、私は彼が正常に働いていたほぼ1年でプログラムを書いたが、私は最近、PRIMARY KEY制約「PK_dboのエラーEF、SQL ServerとPKのエラーを複製
違反して、データベースに新しい項目を追加しました。アカウント。オブジェクト 'dbo.Accounts'に重複キーを挿入できません。重複するキー値は(110603267)です。
私は直面しています。特別なことは何も起こっていない、と私はこのエラーが与えられた理由を知らない。 [Key]のIdフィールドで、long型です。そして、アイデンティティはデータベースにあります。 ここでは、IDの新しい項目(「110603267」)を追加しようとするたびに変更され、そのエラーがもう1つの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]を作ってください。 –