0

我正在使用一种在表中创建新条目的方法。该方法如下所示:

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 上的某些内容,但我似乎找不到正确的位置。 在此处输入图像描述

我还能做些什么来解决错误?

4

0 回答 0