Я использую этот код в SQL Server 2012:
INSERT INTO [dbo].[test] ([t])
VALUES ('tyy');
SELECT [Id]
FROM [dbo].[test]
WHERE ([Id] = SCOPE_IDENTITY())
Возвращает последний вставленный идентификатор, и он работал хорошо.
Но один и тот же код в vb.net 2017 и .net Framework 4.7.2 не работает - для каждой вставки он возвращает 1.
Это код:
Dim id = TestTableAdapter.InsertQuery("nvnh")
Таблица:
CREATE TABLE [dbo].[test]
(
[Id] INT IDENTITY (1, 1) NOT NULL,
[t] NVARCHAR (50) NULL,
CONSTRAINT [PK_test] PRIMARY KEY CLUSTERED ([Id] ASC)
);