o Dapper bir ExecuteScalar ... gibiydi Dapper
ExecuteScalar adını veya kaldırılmış oldu görünüyor?Bu, şu şekilde elde edilebilir: .Query veya .Query < T>?
o Dapper bir ExecuteScalar ... gibiydi Dapper
ExecuteScalar adını veya kaldırılmış oldu görünüyor?Bu, şu şekilde elde edilebilir: .Query veya .Query < T>?
ExecuteScalar sadece 1.28 eklendi: https://www.nuget.org/packages/Dapper Ben sürümüyle ExecuteScalar < T> çağırmak başardı
Biraz şaşkınım var, eğer bunu doğru anlarsam, Dapper'ın şimdiki sürümünde (8 Ekim 2015'teki gibi 1.42) NO yürütme skalar. Bu işlevsellik, LINQ yöntemi Single() ile elde edilir. Sağ? – dotnetguy
1.42 hala var. Alttaki SqlCommand.ExecuteScalar() yöntemini kullanır. Bu, .Single() ve .First() öğelerinden farklı davranır (özellikle, hiçbir kayıt geri gelmezse null döndürür). Bkz. Https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar(v=vs.110).aspx –
1.42.0
public Boolean BeforeToday(DateTime dateInQuestion)
{
try
{
using (var conn = new SqlConnection(ConnectionString))
{
String sql = @"SELECT CONVERT(bit, CASE WHEN getdate() > @dateParameter THEN 1 ELSE 0 END) AS BeforeToday";
var result = conn.ExecuteScalar<Boolean>(sql, new { dateParameter = dateInQuestion });
return result;
}
}
catch (Exception)
{
return dateInQuestion < DateTime.Now;
}
}
sürümü 1.50.4 ben çağırmak başardı
connection.QuerySingle<int>(query,params)
Bu tam bir cevap değildir. Temsilcisi olduğunda bir yorum yapmanızı tavsiye ederim. –
Hiç eklemediğimiz nedeni basitçe: '.Single()' aynı şeyi yapar. Altta yatan uygulamaları vb. Inceledik ve fazladan bir yöntemin eklenmesi konusunda gerçek bir fayda söz konusu değil. –
.Single() bir Dapper uzantısı yöntemi olarak gelmiyor. Bu, .net çerçevesindeki temel bir yöntemde mi? – sgtz
Demek istiyorum: 'int value = conn.Query (sql, args) .Single();' veya 'dize değeri = conn.Query (sql, args) .Single();', vb –