它看起來像有一個在的ExecuteScalar小巧玲瓏...是在有小巧玲瓏
當時的ExecuteScalar重命名或刪除?
可以這樣現在.Query或.Query < T>實現?剛添加
它看起來像有一個在的ExecuteScalar小巧玲瓏...是在有小巧玲瓏
當時的ExecuteScalar重命名或刪除?
可以這樣現在.Query或.Query < T>實現?剛添加
的ExecuteScalar在1.28:https://www.nuget.org/packages/Dapper
我這個有點困惑,如果我理解正確此,在當前版本的小巧玲瓏(1.42作爲2015年10月8日)沒有執行標量。該功能是通過LINQ方法Single()實現的。對? – dotnetguy
1.42還是有的。它所使用的底層SqlCommand.ExecuteScalar(),它有不同的行爲。單()和。首先()(值得注意的是,它會返回null,如果沒有記錄,回來)。見https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar(v=vs.110).aspx –
我能夠調用的ExecuteScalar < T>與版本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;
}
}
在1.50.4版本我是能夠調用 connection.QuerySingle<int>(query,params)
這不是一個完整的答案。我建議當你有代表時做出評論。 –
,我們從來沒有加入一個原因很簡單:'。單()'做同樣的事情。我們調查了底層的實現等,並且添加額外的方法沒有真正的好處。 –
.Single()不會作爲Dapper擴展方法提供。這是在.net框架中的底層方法嗎? – sgtz
我的意思是:'int value = conn.Query(sql,args).Single();'或'string value = conn.Query (sql,args).Single();'等 –