我正在使用一种在表中创建新条目的方法。该方法如下所示:
public void CreateProcessingTime(Guid userId, int activityId, int min, int max, int avg)
{
var t = new T_USER_ACTIVITY_PROCESSING_TIME
{
UAP_USR_ID = userId,
UAP_ACT_ID = activityId,
UAP_P_TIME_MIN = min,
UAP_P_TIME_MAX = max,
UAP_P_TIME_AVG = avg
};
_dbEntities.T_USER_ACTIVITY_PROCESSING_TIME.Add(t);
_dbEntities.SaveChanges();
}
在SaveChanges();
它引发错误时:
SqlException:当 IDENTITY_INSERT 设置为 OFF 时,无法为表中的标识列插入显式值。
我用来生成表的 SQL 是:
-- Creating table 'T_USER_ACTIVITY_PROCESSING_TIME'
CREATE TABLE [dbo].[T_USER_ACTIVITY_PROCESSING_TIME] (
[UAP_ID] int IDENTITY (1,1) NOT NULL,
[UAP_USR_ID] uniqueidentifier NOT NULL,
[UAP_ACT_ID] int NOT NULL,
[UAP_P_TIME_MIN] int NOT NULL,
[UAP_P_TIME_AVG] int NOT NULL,
[UAP_P_TIME_MAX] int NOT NULL
);
GO
SET IDENTITY_INSERT [T_USER_ACTIVITY_PROCESSING_TIME] ON
-- --------------------------------------------------
-- Creating all PRIMARY KEY constraints
-- --------------------------------------------------
-- Creating primary key on [UAP_ID] in table 'T_USER_ACTIVITY_PROCESSING_TIME'
ALTER TABLE [dbo].[T_USER_ACTIVITY_PROCESSING_TIME]
ADD CONSTRAINT [PK_T_USER_ACTIVITY_PROCESSING_TIME]
PRIMARY KEY CLUSTERED ([UAP_ID] ASC);
GO
我尝试SET IDENTITY_INSERT T_USER_ACTIVITY_PROCESSING_TIME ON
在 SQL Server 管理器上进行设置,但没有解决问题。我的下一个猜测是我必须更改 .edmx 上的某些内容,但我似乎找不到正确的位置。
我还能做些什么来解决错误?