Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come posso eseguire un inserimento e restituire l'identità inserita con Dapper?

supporta parametri di input/output (incluso RETURN value) se utilizzi DynamicParameters , ma in questo caso l'opzione più semplice è semplicemente:

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

Tieni presente che nelle versioni più recenti di SQL Server (2005+) puoi utilizzare OUTPUT clausola:

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