ADO.NET, for example, won't give you objects (or, at best, will only give you a pseudo object like a DataTable) While Dapper allow to work with classes. Dapper is a wrapper on ADO .net
public class ADONET : ITestSignature
{
public long GetPlayerByID(int id)
{
Stopwatch watch = new Stopwatch();
watch.Start();
using(SqlConnection conn = new SqlConnection(Constants.ConnectionString))
{
conn.Open();
using(SqlDataAdapter adapter = new SqlDataAdapter("SELECT Id, FirstName, LastName, DateOfBirth, TeamId FROM Player WHERE Id = @ID", conn))
{
adapter.SelectCommand.Parameters.Add(new SqlParameter("@ID", id));
DataTable table = new DataTable();
adapter.Fill(table);
}
}
watch.Stop();
return watch.ElapsedMilliseconds;
}
}
public class Dapper : ITestSignature
{
public long GetPlayerByID(int id)
{
Stopwatch watch = new Stopwatch();
watch.Start();
using (SqlConnection conn = new SqlConnection(Constants.ConnectionString))
{
conn.Open();
var player = conn.Query("SELECT Id, FirstName, LastName, DateOfBirth, TeamId FROM Player WHERE Id = @ID", new{ ID = id});
}
watch.Stop();
return watch.ElapsedMilliseconds;
}
}
public class ADONET : ITestSignature
{
public long GetPlayerByID(int id)
{
Stopwatch watch = new Stopwatch();
watch.Start();
using(SqlConnection conn = new SqlConnection(Constants.ConnectionString))
{
conn.Open();
using(SqlDataAdapter adapter = new SqlDataAdapter("SELECT Id, FirstName, LastName, DateOfBirth, TeamId FROM Player WHERE Id = @ID", conn))
{
adapter.SelectCommand.Parameters.Add(new SqlParameter("@ID", id));
DataTable table = new DataTable();
adapter.Fill(table);
}
}
watch.Stop();
return watch.ElapsedMilliseconds;
}
}
public class Dapper : ITestSignature
{
public long GetPlayerByID(int id)
{
Stopwatch watch = new Stopwatch();
watch.Start();
using (SqlConnection conn = new SqlConnection(Constants.ConnectionString))
{
conn.Open();
var player = conn.Query
}
watch.Stop();
return watch.ElapsedMilliseconds;
}
}
No comments:
Post a Comment