sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo realizo una inserción y devuelvo la identidad insertada con Dapper?

soporta parámetros de entrada/salida (incluyendo RETURN value) si usa DynamicParameters , pero en este caso la opción más simple es simplemente:

var id = connection.QuerySingle<int>( @"
INSERT INTO [MyTable] ([Stuff]) VALUES (@Stuff);
SELECT CAST(SCOPE_IDENTITY() as int)", new { Stuff = mystuff});

Tenga en cuenta que en las versiones más recientes de SQL Server (2005+) puede usar OUTPUT cláusula:

var id = connection.QuerySingle<int>( @"
INSERT INTO [MyTable] ([Stuff])
OUTPUT INSERTED.Id
VALUES (@Stuff);", new { Stuff = mystuff});