Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EntityFramework.dll中发生DbUpdateException错误_C#_Entity Framework - Fatal编程技术网

C# EntityFramework.dll中发生DbUpdateException错误

C# EntityFramework.dll中发生DbUpdateException错误,c#,entity-framework,C#,Entity Framework,因此,每次尝试保存数据时,都会出现DbUpdateException错误 这是我的代码: tbl_UAM uam = new tbl_UAM { MDMRefNumber = tbxLastName.Text.Trim(), SARId = tbxSARIdNewUAM.Text.Trim(), FirstName =

因此,每次尝试保存数据时,都会出现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”的未处理异常

其他信息:更新条目时出错。有关详细信息,请参见内部异常


现在我知道问题出在哪里了。这实际上是身份规范问题,因为在我的数据库中,我已将自动增量设置为“是”。我也知道我必须将身份规范设置为false,我只是不知道如何在代码中实现它,我无法真正理解和实现它。有人能给我解释一下是怎么做的吗?

您需要在类定义中标识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
公共类tbl\u UAM
{
/// 
///获取或设置实体标识符
/// 
[关键]
[数据库生成(DatabaseGeneratedOption.Identity)]
公共int Id{get;set;}
公共字符串名{get;set;}
//其余的柱子

}您需要在类定义中标识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
公共类tbl\u UAM
{
/// 
///获取或设置实体标识符
/// 
[关键]
[数据库生成(DatabaseGeneratedOption.Identity)]
公共int Id{get;set;}
公共字符串名{get;set;}
//其余的柱子

}

是“SARId”给了你错误吗?如果是,我需要问你为什么要给它赋值。只需从代码中删除属性初始化。不,它的Id是我刚才按照u的指示添加的。我必须提醒你,我先用的是模型。你能发布内部异常吗?我想知道给你这个错误的确切错误是什么?如果是,我需要问你为什么要给它赋值。只需从代码中删除属性初始化。不,它的Id是我刚才按照u的指示添加的。我必须提醒你,我先用的是模型。你能发布内部异常吗?我想知道确切的错误是什么