Я создал базу данных, где я использую uniqueidentifier в качестве первичного ключа. Я пытаюсь запустить параметризованный запрос, который в итоге выглядит следующим образом. (вставить в значения someTable (uniqueID) ('76c14693-5475-4224-ba94-7d30c919ac59') (uniqueID - это мой PK). Этот оператор вставки выполняется без проблем, когда я запускаю его в SQL Server Management Studio, однако он завершается неудачно, когда я попробуй запустить его из моего кода.
Ошибка: невозможно вставить явное значение для столбца идентификации в таблице 'someTable', когда для IDENTITY_INSERT задано значение OFF.
Я посмотрел это, и есть много предложений по включению IDENTITY_INSERT, но все они используют хранимые процедуры. Мне нужно быть в состоянии сделать это с помощью параметризованного запроса. Или мне нужен способ, чтобы получить недавно созданный guid в базе данных. Это похоже на то, что всем понадобится в какой-то момент. Есть ли простые решения?
PS. Мне нужен идентификатор, потому что мне нужно добавить записи в другие таблицы, используя этот идентификатор.
EDIT:
Вот структура рассматриваемой таблицы
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]