uniqueidentifier を主キーとして使用するデータベースを作成しました。最終的にこのようなパラメータ化されたクエリを実行しようとしています。(insert into someTable (uniqueID) Values('76c14693-5475-4224-ba94-7d30c919ac59') (uniqueID is my PK). この挿入ステートメントは、SQL Server Management Studio で実行すると問題なく実行されますが、私のコードから実行してみてください。
エラー: IDENTITY_INSERT が OFF に設定されている場合、テーブル 'someTable' の ID 列に明示的な値を挿入できません。
これを調べたところ、IDENTITY_INSERT をオンにすることに関する多くの提案がありますが、それらはすべてストアド プロシージャを使用しています。パラメータ化されたクエリを使用してこれを行う必要があります。または、データベースで新しく作成された GUID を取得する方法が必要です。これは、ある時点で誰もが必要とするもののようです。簡単な解決策はありますか?
PS。その ID を使用して他のテーブルにレコードを追加する必要があるため、ID が必要です。
編集:
問題のテーブルの構造は次のとおりです
CREATE TABLE [dbo].[someTable]
(
[NewsID] [uniqueidentifier] NOT NULL CONSTRAINT [DF_someTable_NewsID] DEFAULT (newid()),
[ShortTitle] [nvarchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[DateCreated] [datetime] NULL CONSTRAINT [DF_someTable_DateCreated] DEFAULT (getdate()),
CONSTRAINT [PK_cmc_News_1] PRIMARY KEY CLUSTERED (
[NewsID] ASC )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF
) ON [PRIMARY]
) ON [PRIMARY]