ASP.NET MVC - selección de lista desplegable - vistas parciales y enlace de modelo

Soy bastante nuevo en ASP.NET MVC y estoy tratando de encontrar la mejor manera de hacerlo. Probablemente sea simple, pero solo quiero hacer las cosas correctamente, así que pensé en preguntar.

Dejemos que tengo un modelo que es este:

Task - Id, Descripción, AssignedStaffMember

StaffMember - Id, Nombre, Apellido

y desde mi punto de vista quiero crear una nueva tarea. Realizo una vista Razor fuertemente tipada y puedo usar EditorFor para crear cuadros de texto para Descripción, pero ¿qué pasa con AssignedStaffMember?

Quiero una lista desplegable de todo el personal actual y tengo la opción de seleccionar uno, luego esto se envía a un método de acción que esNewTask(string description, StaffMember assignedStaffMember) o eso o podría tener un int para staffId en lugar del objeto StaffMember y buscarlo en el método de acción.

¿Cuál es la mejor manera de hacer esto? Necesito ir a la base de datos para quitar la lista del personal, así que esto es lo que pensé:

Haga una vista parcial de la lista desplegable de personal, que se usará varias veces y usará@Html.Action("ListStaff", "Staff") para llamarlo. El método de acción tiene entonces

public ActionResult ListStaff()
{
    IEnumerable<StaffMember> model = _serviceLayer.GetAllStaff();
    return PartialView(model);
}

Sin embargo, no estoy seguro de cómo funcionará esto con el enlace del modelo, entiendo que tiene que tener el nombre correcto para el formulario para enviarlo, tendría que pasar el nombre a la vista parcial para poner el elemento supongo?

En lugar de hacer que llame a un controlador para obtener el personal, haga un ViewModel que contenga mi Tarea y una colección IEnumerable possibleStaff. posiblemente envíe esta información a una vista parcial.

a Html Helper?

EditorFor ¿podría usarse de alguna manera?

¿Cuál (o hay más) sería mejor? y ¿cómo haría el enlace del modelo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta