Ваша проблема в том, что из LINQ-запроса вы возвращаете анонимный тип (используя синтаксис new { ... }
.
Однако вы пытаетесь замять этот объект в List<Profile>
. Поэтому он жалуется, что вы пытаетесь поместить этот анонимный объект в список, который принимает только Profile
объектов.
Почему бы просто не заменить new { ...
на new Profile { ...
, поскольку вы используете те же поля в анонимном типе, что и в типе профиля.
И удалить ToList
и Cast
в конце.