Lista suspensa de países do MVC6

Estou tentando usar os MVC6 Tag Helpers para criar uma lista suspensa de CountryCode e CountryName para que um usuário possa selecionar seu país após o registro. A parte relevante da visualização se parece com isso até agora

    <form asp-controller="Manage" asp-action="EditCountry" asp-route-returnurl="@ViewData["ReturnUrl"]">
    <div asp-validation-summary="ValidationSummary.ModelOnly" class="text-danger"></div>
    <select asp-for="CountryCode" asp-items="@Model.Countries"></select>

A parte relevante do modelo de exibição se parece com isso

    [Display(Name = "Country")]
    public string CountryCode { get; set; }
    public IEnumerable<Country> Countries { get; set; }

Um país se parece com isso

    public partial class Country
{
    [Key]
    public string CountryCode { get; set; }
    public string CountryName { get; set; }
    public virtual ICollection<ApplicationUser> Users { get; set; }
}

O controlador retorna uma lista de países para o viewmodel

            var model = new IndexViewModel
        {
            CountryCode = user.CountryCode,
            Countries =_customersContext.Countries.OrderBy(c=>c.CountryName),
        };
        return View(model);
    }

mas na vistaasp-items="@Model.Countries" tem um rabiscoCannot convert Country to SelectListItem

Também não consigo encontrar como, no formulário, especificar CountryCode como a propriedade a retornar e CountryName como a propriedade a ser exibida.

questionAnswers(3)

yourAnswerToTheQuestion