Consultas con Dapper en C#
SQL de entrada, objetos tipados de salida, nada en medio.
using Dapper;
using Microsoft.Data.Sqlite;
using var db = new SqliteConnection("Data Source=:memory:");
db.Execute("CREATE TABLE tools(name TEXT, stars INT)");
db.Execute("INSERT INTO tools VALUES ('dapper', 17000), ('polly', 13000)");
// Dapper mapea las filas directo a tu tipo, sin ceremonia de ORM
var tools = db.Query<Tool>("SELECT name, stars FROM tools ORDER BY stars");
foreach (var tool in tools)
{
Console.WriteLine($"{tool.Name}: {tool.Stars}");
}
record Tool(string Name, int Stars);
Cómo funciona
Executecorre DDL e inserts sobre cualquier conexión ADO.NET.Query<Tool>mapea columnas al record por nombre.- El SQL queda a la vista — Dapper agrega mapeo, no abstracción.
Palabras clave y builtins usados aquí
foreachinintnewrecordstringusingvar
El intento, en números
- Líneas
- 15
- Caracteres a escribir
- 498
- Tokens
- 70
- Ritmo de tres estrellas
- 85 tpm
Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 49 segundos.
Paso 1 de 2 en Datos con Dapper; paso 4 de 16 en El ecosistema abierto.