O erro MVC “é do tipo 'System.Int32', mas deve ser do tipo 'IEnumerable <SelectListItem>'. " [duplicado]

Esta pergunta já tem uma resposta aqui:

O item ViewData que possui a chave 'XXX' é do tipo 'System.Int32', mas deve ser do tipo 'IEnumerable <SelectListItem>' 3 respostas

Eu tenho um modelo como este;

    public int ID{ get; set; }
    public string MidName{ get; set; }
    public string FirstName{ get; set; }
    public string Surname{ get; set; }

Este é o meu controlador:

  public ActionResult Create(){
       ViewBag.Names= new SelectList(db.TbName, "ID", "MidName");
       return Viwe();
    }

Esta é a minha opinião

        @Html.LabelFor(model => model.Names, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.DropDownList("Names", String.Empty)
            @Html.ValidationMessageFor(model => model.Names)
        </div>
    </div>

Agora, quando clicar no botão Criar, recebo um erro dizendo

`O item ViewData que possui a chave 'Names' é do tipo 'System.Int32', mas deve ser do tipo 'IEnumerable'.

Estou recebendo este erro é porque o ID é int, se sim, então como faço para convertê-lo?

questionAnswers(3)

yourAnswerToTheQuestion