在包含标识列System.Data.Entity.Infrastructure.DbUpdateException的表中插入时出错

时间:2018-09-20 09:02:52

标签: asp.net-mvc-4 exception-handling ado.net-entity-data-model

在我的ASP.Net MVC 4项目中,我试图将数据插入具有自动递增列(ACTIVITYID)标识的表中,该列是主键。

表类

public partial class ACTIVITY
{
    public decimal ACTIVITYID { get; set; }
    public Nullable<decimal> CALLTICKETNUMBER { get; set; }
    public string ACTION { get; set; }
    public Nullable<long> STATUSIDATTHETIMEOFACTION { get; set; }
    public short RECORDFORDISPLAY { get; set; }
    public Nullable<System.DateTime> ACTIVITYDATE { get; set; }
    public string USER_ { get; set; }

    public virtual CALLTICKET CALLTICKET { get; set; }
}

在调用以下方法时会生成异常

    public static void AddActivity(long ticketNumber, string action, string userId, int? previousStatusId = null)
    {

            var newActivity = new ACTIVITY
            {
                ACTION = action,
                ACTIVITYDATE = System.DateTime.Now,
                CALLTICKETNUMBER = ticketNumber,
                STATUSIDATTHETIMEOFACTION = previousStatusId,
                 USER_ = userId,
            };
            dbOraContext.ACTIVITies.Add(newActivity);
            dbOraContext.SaveChanges();

    }

正在查看 ACTIVITies.Add(newActivity)时,ACTIVITYID的插入值为0。

在跟踪内部异常时,将显示以下异常:

{“ ORA-00001:违反唯一约束(ATM_CRM.PK_ACTIVITY)”“}

此外,发生了“ System.Data.Entity.Infrastructure.DbUpdateException”类型的异常。

我以前使用过MS SQL Server,但从未遇到过这样的问题。自动增量列应自动获取其值。

请注意,我正在使用Oracle DB。

0 个答案:

没有答案