sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan udfører jeg en indsættelse og returnerer indsat identitet med Dapper?

Det understøtter input/output parametre (inklusive RETURN værdi), hvis du bruger DynamicParameters , men i dette tilfælde er den nemmere mulighed blot:

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

Bemærk, at på nyere versioner af SQL Server (2005+) kan du bruge OUTPUT klausul:

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


  1. Kombiner flere underordnede rækker til én række MYSQL

  2. Oprettelse af revisionstriggere i SQL Server

  3. Typer af SQL-kommandoer

  4. Returner kolonneoplysninger for en lagret procedure i SQL Server:sp_sproc_columns