Загрузка данных


var cities = connection.Query<City, Country, City>(
    "SELECT * FROM cities INNER JOIN countries ON countries.id = cities.country_id",
    (city, country) =>
    {
        city.Country = country;
        return city;
    }
);

foreach (var city in cities)
{
    Console.WriteLine($"Город {city.Name} (население {city.Population}) из страны {city.Country.Name}");
}

using var transaction = connection.BeginTransaction();
transaction.Execute("INSERT INTO countries(name) VALUES (@name)", new { name = "Германия" });
var country = transaction.QueryFirst<Country>("SELECT * FROM countries ORDER BY id DESC LIMIT 1");
transaction.Execute("INSERT INTO cities(name, population, country_id) VALUES (@name, @population, @countryId)", new { name = "Берлин", population = 4000000, countryId = country.Id });