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