Nasıl bir ekleme yapabilirim ve Dapper ile eklenen kimlik geri? | Netgez.com
SORU
25 Kasım 2011, Cuma


Nasıl bir ekleme yapabilirim ve Dapper ile eklenen kimlik geri?

Nasıl veritabanı ve Dapper ile eklenen kimlik dönmek için bir ekleme yapabilirim?

Böyle bir şey denedim:

string sql = "DECLARE @ID int; "  
             "INSERT INTO [MyTable] ([Stuff]) VALUES (@Stuff); "  
             "SELECT @ID = SCOPE_IDENTITY()";

var id = connection.Query<int>(sql, new { Stuff = mystuff}).First();

Ama işe mi yaradı.

@Marc Gravell teşekkürler cevap için. Çözümünüzü denedim ama hala aynı Durum İzleme altında

System.InvalidCastException: Specified cast is not valid

at Dapper.SqlMapper.<QueryInternal>d__a`1.MoveNext() in (snip)\Dapper\SqlMapper.cs:line 610
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Dapper.SqlMapper.Query[T](IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffered, Nullable`1 commandTimeout, Nullable`1 commandType) in (snip)\Dapper\SqlMapper.cs:line 538
at Dapper.SqlMapper.Query[T](IDbConnection cnn, String sql, Object param) in (snip)\Dapper\SqlMapper.cs:line 456

CEVAP
25 Kasım 2011, Cuma


Yokdestekgiriş DynamicParameters, kullanırsanız çıkış parametreleri (RETURN değeri dahil)/ama bu durumda daha basit bir seçenek sadece

string sql = @"
INSERT INTO [MyTable] ([Stuff]) VALUES (@Stuff);
SELECT CAST(SCOPE_IDENTITY() as int)";

var id = connection.Query<int>(sql, new { Stuff = mystuff}).Single();

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Louis C.K.

    Louis C.K.

    18 HAZİRAN 2006
  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011
  • Xbox

    Xbox

    1 Kasım 2005