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});