To obsługuje parametry wejścia/wyjścia (w tym RETURN wartość) jeśli używasz DynamicParameters , ale w tym przypadku prostszą opcją jest po prostu:
var id = connection.QuerySingle<int>( @"
INSERT INTO [MyTable] ([Stuff]) VALUES (@Stuff);
SELECT CAST(SCOPE_IDENTITY() as int)", new { Stuff = mystuff});
Zauważ, że w nowszych wersjach SQL Server (2005+) możesz użyć OUTPUT klauzula:
var id = connection.QuerySingle<int>( @"
INSERT INTO [MyTable] ([Stuff])
OUTPUT INSERTED.Id
VALUES (@Stuff);", new { Stuff = mystuff});