Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment puis-je effectuer une insertion et renvoyer une identité insérée avec Dapper ?

Il prend en charge paramètres d'entrée/sortie (dont RETURN valeur) si vous utilisez DynamicParameters , mais dans ce cas, l'option la plus simple est simplement :

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

Notez que sur les versions plus récentes de SQL Server (2005+), vous pouvez utiliser le OUTPUT clause :

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