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

  • GoogleTechTalks

    GoogleTechTa

    15 AĞUSTOS 2007
  • The Pet Collective

    The Pet Coll

    5 Ocak 2012
  • Ty Moss

    Ty Moss

    20 Kasım 2007