提交 f499062b 编写于 作者: A Alexandr Buzadji

Use `FirstOrDefault` method instead of `Map` in Belgrade benchmark.

`FirstOrDefault` is probably meant to be used here, as there is selected and returned a single record by ID.

Also changing the benchmark description, as "ExecuteReader" looks to be an obsolete name of the method that was used before refactoring.
上级 64685835
......@@ -18,30 +18,28 @@ public void Setup()
_mapper = new QueryMapper(ConnectionString);
}
[Benchmark(Description = "ExecuteReader")]
public async Task<Post> ExecuteReader()
[Benchmark(Description = "FirstOrDefault")]
public Task<Post> FirstOrDefault()
{
Step();
var post = new Post();
await _mapper.Sql("SELECT TOP 1 * FROM Posts WHERE Id = @Id").Param("Id", i).Map(
reader =>
{
post.Id = reader.GetInt32(0);
post.Text = reader.GetString(1);
post.CreationDate = reader.GetDateTime(2);
post.LastChangeDate = reader.GetDateTime(3);
return _mapper.Sql("SELECT TOP 1 * FROM Posts WHERE Id = @Id").Param("Id", i).FirstOrDefault(
reader => new Post
{
Id = reader.GetInt32(0),
Text = reader.GetString(1),
CreationDate = reader.GetDateTime(2),
LastChangeDate = reader.GetDateTime(3),
post.Counter1 = reader.IsDBNull(4) ? null : (int?)reader.GetInt32(4);
post.Counter2 = reader.IsDBNull(5) ? null : (int?)reader.GetInt32(5);
post.Counter3 = reader.IsDBNull(6) ? null : (int?)reader.GetInt32(6);
post.Counter4 = reader.IsDBNull(7) ? null : (int?)reader.GetInt32(7);
post.Counter5 = reader.IsDBNull(8) ? null : (int?)reader.GetInt32(8);
post.Counter6 = reader.IsDBNull(9) ? null : (int?)reader.GetInt32(9);
post.Counter7 = reader.IsDBNull(10) ? null : (int?)reader.GetInt32(10);
post.Counter8 = reader.IsDBNull(11) ? null : (int?)reader.GetInt32(11);
post.Counter9 = reader.IsDBNull(12) ? null : (int?)reader.GetInt32(12);
});
return post;
Counter1 = reader.IsDBNull(4) ? null : (int?)reader.GetInt32(4),
Counter2 = reader.IsDBNull(5) ? null : (int?)reader.GetInt32(5),
Counter3 = reader.IsDBNull(6) ? null : (int?)reader.GetInt32(6),
Counter4 = reader.IsDBNull(7) ? null : (int?)reader.GetInt32(7),
Counter5 = reader.IsDBNull(8) ? null : (int?)reader.GetInt32(8),
Counter6 = reader.IsDBNull(9) ? null : (int?)reader.GetInt32(9),
Counter7 = reader.IsDBNull(10) ? null : (int?)reader.GetInt32(10),
Counter8 = reader.IsDBNull(11) ? null : (int?)reader.GetInt32(11),
Counter9 = reader.IsDBNull(12) ? null : (int?)reader.GetInt32(12),
});
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册