schrieb ich ein Programm, das fast ein Jahr er richtig funktioniert, aber ich hinzugefügt vor kurzem ein neues Element in der Datenbank mit FehlernEF, SQL Server und duplizieren PK Fehler
Verletzung der PRIMARY KEY-Einschränkung ‚PK_dbo. Konten'. Kann keinen doppelten Schlüssel in Objekt 'dbo.Accounts' einfügen. Der doppelte Schlüsselwert ist (110603267).
Ich konfrontiert. Nichts Besonderes ist passiert, und ich weiß nicht, warum dieser Fehler gegeben wurde. Id-Feld für [Key] und vom Typ long. Und ist in der Datenbank für ist Identität. Hier ist zu sagen, dass jedes Mal, wenn Sie versuchen, ein neues Element der ID ("110603267") hinzuzufügen, geändert wurde und der Fehler eine andere ID war.
Mit ASP.NET MVC wird EF geschrieben. Bitte geben Sie an, was zu tun ist, um dieses Problem zu beheben. Thankful
mein Modell:
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; }
}
mein Code:
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();
weitere Details erforderlich, insbesondere des bestehenden Codes. – cjb110
Können Sie Code anzeigen? Klingt so, als ob Sie versuchen, eine Entität mit einer ID einzufügen, die bereits existiert, aber eindeutig sein muss. –
Und fügen Sie nicht einfach ** all ** Ihren Code ein. Machen Sie ein [MCVE], um Ihr Problem zu veranschaulichen. –