Что ж, в случае UPDATE
или DELETE
у вас уже должен быть идентификатор id, в противном случае вы не можете вызывать ни один из этих методов - правильно?
В случаеINSERT
, если ваша таблица находится в SQL Server и имеет столбец INT IDENTITY
, вы можете использовать что-то вроде этого:
INSERT INTO dbo.YourTable (list-of-columns)
OUTPUT Inserted.Id -- or whatever your IDENTITY column is called
VALUES (list-of-values)
, а затем из своего кода C # используйте cmd.ExecuteScalar()
(или ExecuteScalarAsync
, если хотите, запустить его и получить одно атомарное значение (только что созданное значение id
):
var result = cmd.ExecuteScalar(....);
if (result != null)
{
int newId = Convert.ToInt32(result);
}