Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie führe ich eine Einfügung durch und gebe eine eingefügte Identität mit Dapper zurück?

Es unterstützt Eingabe-/Ausgabeparameter (einschließlich RETURN Wert), wenn Sie DynamicParameters verwenden , aber in diesem Fall ist die einfachere Option einfach:

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

Beachten Sie, dass Sie bei neueren Versionen von SQL Server (2005+) den OUTPUT verwenden können Klausel:

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