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 });