У меня есть класс Post:
public class Post
{
...
public virtual IList<Comment> Comments { get; set; }
...
}
В сопоставлениях я установил Комментарии как ссылку на ManyToOne.Как мы знаем, по умолчанию он установлен как загруженный с отложенной загрузкой.
В моем скрипте просмотра Razor я хочу проверить, есть ли в комментарии какие-либо комментарии, и если да, добавьте кнопку, которая вызывает действие для получения комментариев к этой записи через ajaxи показать их, введя html.
Когда я пытаюсь вызвать что-то на Post.Comments в Razor (например, Model.Comments.Count ()), я получаю исключение, в котором говорится, что Session отсутствует.Я знаю, почему это происходит - потому что ленивая загрузка.
Мой вопрос, как справиться с такими ситуациями?Каковы «лучшие практики»?
Мне приходит в голову два решения:
1) Сделать комментарии загруженными не лениво - не нормально, так как я получаю комментарии через ajax позже, и на этот раз мне нужны толькоКоличество комментариев 2) Создайте класс ViewModel, который содержит информацию, если у публикации есть комментарии, или передайте ее через ViewBag.
Что вы предлагаете по этому поводу?
Спасибо, Bartek