Попробуйте
PatientList = queryResult.ToList();
Ваша версия использует приведение, что в данном случае невозможно, так как результат запроса не является списком.ToList
создает новый список, основываясь на перечислимом, для которого он вызывается.Он делает что-то вроде этого:
public static List<T> ToList<T>(this IEnumerable<T> collection)
{
return new List<T>(collection);
}
Очевидно, вы должны быть уверены, что PatientList
элементы имеют тип SelectListItem
и знать, что Distinct()
вернет различные ОБЪЕКТЫ, но не элементы сразные поля.То есть, если в PatientList
у вас есть два независимо сконструированных элемента с равными свойствами Selected
, Text
и Value
, у вас все равно останется два в результате вызова Distinct()
., что является причиной использования Select(c => c)
?Это эффективно не замечая.