Before:
using (var db = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Database"].ConnectionString))
{
using (var command = db.CreateCommand("SELECT id, text FROM foos WHERE id= @id", new NpgsqlParameter("id", 1)))
{
if (command.TrySingle(x => new Foo(), out var result))
{
return result;
}
}
}
Or:
using (var db = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Database"].ConnectionString))
{
using (var command = db.CreateCommand("SELECT id, text FROM foos WHERE id= @id", new NpgsqlParameter("id", 1)))
{
if (command.TrySingle<Foo>(out var result))
{
return result;
}
}
}
After:
using (var db = new NpgsqlConnection(ConfigurationManager.ConnectionStrings["Database"].ConnectionString))
{
using (var command = db.CreateCommand("SELECT id, text FROM foos WHERE id= @id", new NpgsqlParameter("id", 1)))
{
if (command.TrySingle(x => new ImmutableFoo(x.GetInt32(0), x.GetString(1)), out var result))
{
return result;
}
}
}
Before:
Or:
After: