Вместо того, чтобы иметь представление, которое принимает IEnumerable<Comment>
и которое все это делает, это циклически перебирает коллекцию и просто вызывает соответствующий шаблон отображения:
@Html.DisplayFor(x => x.Comments)
, где свойство Comments является IEnumerable<Comment>
, которое автоматически выполнит цикл и отобразит шаблон отображения Comment.cshtml
для каждого элемента этой коллекции.
Или, если вам действительно нужен такой вид (не знаю почему), вы можете просто:
@model IEnumerable<Comment>
@Html.DisplayForModel()
Что касается используемого здесь Where
, вы должны просто удалить его и делегировать эту задачу контроллеру. Ответственность за подготовку модели представления лежит на контроллере, а не на представлении, выполняющем такие задачи.