2016-05-12 8 views
-1

これは重複しない ID列に値を設定していません!WPFをテーブルに挿入する - (IDENTITY COULMNに値を設定しない)

テーブルに値を追加できません。 「IDENTITY_INSERTがOFFに設定されている場合、テーブルにID列は 『MainQueue』 を明示的な値を挿入できません。」

を:私はすべてが良い設定だと思うが、このエラーは来続けます私はID列に値を設定していないです

var queueItem = new MainQueue(); 
queueItem.IdOffice = officeId; 
queueItem.IdCategory = categoryId; 
queueItem.Created = DateTime.Now; 
queueItem.OrderNumber = orderNum; 

dc.MainQueues.InsertOnSubmit(queueItem); 
dc.SubmitChanges(); 

を、これはDUPLICITY されていません:

CREATE TABLE [dbo].[MainQueue] (
    [Id]    INT  IDENTITY (1, 1) NOT NULL, 
    [Created]   DATETIME NOT NULL, 
    [IdOffice]   INT  NOT NULL, 
    [IdCategory]  INT  NOT NULL, 
    [StartProcessTime] DATETIME NULL, 
    [EndProcessTime] DATETIME NULL, 
    [IdUser]   INT  NULL, 
    [Sms]    BIT  CONSTRAINT [DF__MainQueue__Sms__412EB0B6] DEFAULT ((0)) NOT NULL, 
    [OrderNumber]  INT  NOT NULL, 
    [IdSms]   INT  NULL, 
    [UserWindowNumber] INT  NULL, 
    CONSTRAINT [PK__MainQueu__3214EC0783954F32] PRIMARY KEY CLUSTERED ([Id] ASC), 
    CONSTRAINT [FK_MainQueue_Category] FOREIGN KEY ([IdCategory]) REFERENCES [dbo].[Category] ([Id]), 
    CONSTRAINT [FK_MainQueue_Office] FOREIGN KEY ([IdOffice]) REFERENCES [dbo].[Office] ([Id]), 
    CONSTRAINT [FK_MainQueue_User] FOREIGN KEY ([IdUser]) REFERENCES [dbo].[User] ([Id]), 
    CONSTRAINT [FK_MainQueue_SmsQueue] FOREIGN KEY ([IdSms]) REFERENCES [dbo].[SmsQueue] ([Id]) 
); 

追加するための私のコード:マイテーブル

+1

アプリケーションのモデルがDBモデルと正しく整列されていますか? – Galma88

+0

MainQueueのコードを表示できますか? Idプロパティにデフォルト値が割り当てられている可能性があります。 –

答えて

0

あなたの記述されたID列は自動インクリメントID列です。つまり、IDの明示的な値を渡すことはできません。 InsertメソッドのID列を削除し、メソッドを呼び出すときにIDのパラメータを渡さないでください。

実際にIDの明示的な値を挿入する必要がある場合は、列をIDENTITYではなくプライマリにするか、IDENTITY INSERTをOFFにしてから挿入してから再度オンにしてください。

関連する問題