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

  • Kat Krazy

    Kat Krazy

    12 Kasım 2010
  • LiquidMusick

    LiquidMusick

    23 Aralık 2010
  • thelonelyisland

    thelonelyisl

    23 Aralık 2005