在我的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。