mrgchr.hatenablog.com
以前の投稿で、Dapper.SqlBuilderにパラメータを渡す際に、
var builder = new SqlBuilder();
var pageTemplate = builder.AddTemplate(pageSql);
var countTemplate = builder.AddTemplate(countSql);
if (userId.HasValue)
{
builder.Where($"t.[UserId] = @{nameof(userId)}");
}
if(isDone.HasValue)
{
builder.Where($"t.[Done] = @{nameof(isDone)}");
}
builder.OrderBy(string.Format("t.[Id] {0}", orderDesc ? "desc" : "asc"));
using (var conn = new SqlConnection(connectionstring))
{
var todos = conn.Query<TodoItem>(pageTemplate.RawSql, new { start, end, userId, isDone });
var count = conn.QueryFirst<int>(countTemplate.RawSql, new { userId, isDone });
}
のように書いていて、最後の無名オブジェクトがダサいなと思いつつも放置していました。
続きを読む