Wer hat nicht die Herausforderung: SQL Daten aus dem SQL Server lesen und in ein .net-Klasse transferieren. Natürlich gibt es da große und professionelle Lösungen – auch direkt von Microsoft, so wie Entity Framework (EF). Aber es gibt auch noch was cooles für zwischendrin, es muss ja nicht immer gleich die fette Enterprise Architektur sein.

Dapper // A NuGet library, die dein IDbConnection interface erweitert!

Die Webseite dapper-tutorial.net beschreibt eigentlich alles was man wissen muss. Aber ein Praxisbeispiel mehr im Web schadet nicht:

class Project
{
public string ProjectID { get; set; }
public string MatchCode { get; set; }
public string ProjectNumber { get; set; }
public DateTime StartDate { get; set; }
public DateTime Memo { get; set; }
}

Und so ließt man die ganze Tabelle in eine Liste:

IDbConnection crmConnection = new SqlConnection(Configuration.GetConnectionString("Database"));
crmConnection.Open();
var projects = new List<Project>();
projects = crmConnection.Query<Project>("SELECT * FROM dbo.tdProjects").ToList();

Das Mapping erfolgt logischerweise über den Namen – einfach und simpel. Nicht für jedes Szenario gebrauchen, aber für kleine Batch-Dienste nicht zu verachten, oder?