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 に設定されている場合、テーブルの ID 列に明示的な値を挿入できません。

テーブルの生成に使用した 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

SQL Server Manager で設定を試みSET IDENTITY_INSERT T_USER_ACTIVITY_PROCESSING_TIME ONましたが、問題は解決しませんでした。私の次の推測では、.edmx で何かを変更する必要がありましたが、正しい場所が見つからないようです。 ここに画像の説明を入力

エラーを解決するために他に何ができますか?

4

0 に答える 0