На самом деле, используя new SelectList(Model.AvailableUsers, "UserEmployeeId")
, вы пытаетесь создать SelectList
всего с двумя перегрузками, что неверно:
public SelectList(IEnumerable items, object selectedValue)
Вам нужно использовать 3 перегрузки, содержащие текст и поле значения :
public SelectList(IEnumerable items, string dataValueField, string dataTextField)
Следовательно, правильное использование вашего DropDownListFor
должно быть таким:
@Html.DropDownListFor(model => model.UserEmployeeId, new SelectList(Model.AvailableUsers, "UserEmployeeId", "UserEmployeeId"), "SELECT", new { @class = "form-control" })
Вторая ошибка - вы присваиваете IQueryable
из этого запроса:
var userList = (from item in list select item);
, где SelectList
первый параметр требует IEnumerable
, поэтому просто используйте ToList()
:
var userList = (from item in list select item).ToList();
Имя типа TMS.Common.Entities.User
появляется, потому что оно неявно вызывает ToString()
к IQueryable
экземпляру, хранящемуся внутри userList
.