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ş:
Nasıl Yinele (yani "geri") V...
Nasıl belirli bir dizinde bir dize ekl...
Nasıl bir istek PHP ile HTTP temel kim...
Nasıl /etc/apt/kaynaklara metin ekleme...
Nasıl git bir geri ödeme yapabilirim?...