EntityFramework.dll中发生DbUpdateException错误

时间:2017-03-22 20:35:30

标签: c# entity-framework

每次我尝试保存数据时都会收到DbUpdateException错误。

这是我的代码:

tbl_UAM uam = new tbl_UAM
                  {
                        MDMRefNumber = tbxLastName.Text.Trim(),
                        SARId = tbxSARIdNewUAM.Text.Trim(),
                        FirstName = tbxFirstName.Text,
                        LastName = tbxLastName.Text,
                        CountryOfOrigin = cbxCountryOrigin.SelectedIndex,
                        PhoneNumber = tbxPhoneNumber.Text,
                        Center = Convert.ToInt16(cbxRRC.SelectedIndex),
                        Building = tbxBuilding.Text,
                        Floor = tbxFloor.Text,
                        SpecificDetails = tbxSpecificDetails.Text,
                  };

using (var context = new DemoDbEntities())
{
    context.tbl_UAM.Add(uam);
    context.SaveChanges();
}

这是我的错误:

  

EntityFramework.dll中出现未处理的“System.Data.Entity.Infrastructure.DbUpdateException”类型异常

     

其他信息:更新条目时发生错误。有关详细信息,请参阅内部异常。

现在我知道问题所在。它实际上是身份规范问题,因为在我的数据库中我将​​自动增量设置为“是”。我也知道我必须将Identity规范设置为false,我只是不知道如何在我的代码中执行它并且我无法真正理解并实现它。有人可以向我解释它是如何完成的吗?

1 个答案:

答案 0 :(得分:2)

您需要在类定义中标识ID列。像这样:

public  class tbl_UAM
{
    /// <summary>
    /// Gets or sets the entity identifier
    /// </summary>
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    public string FirstName {get; set;}

    // the rest of columns

}