Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como faço uma inserção e retorno de identidade inserida com o Dapper?


Ele suporta parâmetros de entrada/saída (incluindo RETURN value) se você usar DynamicParameters , mas neste caso a opção mais simples é simplesmente:
var id = connection.QuerySingle<int>( @"
INSERT INTO [MyTable] ([Stuff]) VALUES (@Stuff);
SELECT CAST(SCOPE_IDENTITY() as int)", new { Stuff = mystuff});

Observe que em versões mais recentes do SQL Server (2005+) você pode usar o OUTPUT cláusula:
var id = connection.QuerySingle<int>( @"
INSERT INTO [MyTable] ([Stuff])
OUTPUT INSERTED.Id
VALUES (@Stuff);", new { Stuff = mystuff});