Повечето хора правят това по следния начин:
INSERT dbo.Users(Username)
VALUES('my new name');
SELECT NewID = SCOPE_IDENTITY();
(Или вместо заявка, присвояване на това на променлива.)
Така че всъщност не са две заявки срещу таблицата ...
Има обаче и следния начин:
INSERT dbo.Users(Username)
OUTPUT inserted.ID
VALUES('my new name');
Наистина няма да можете да извлечете това с ExecuteNonQuery
, обаче.