public static async Task<IEnumerable<Product>> ProductCategoryAsync()
{
    using (var connection = DbConnect.Connection)
    {
        var query = @"SELECT * FROM dbo.Categories
            INNER JOIN dbo.Products
            ON dbo.Categories.CategoryID = dbo.Products.CategoryID";

        var list = connection.QueryAsync<Product, Category, Product>(query, (urun, kat) =>
        {
            urun.CategoryId = kat.CategoryId;
            return urun;
        }, splitOn: "CategoryID");

        return await list;
    }
}