Добавление списка людей, которым нравится пост в asp mvc

#asp.net #asp.net-mvc

Вопрос:

Я занимаюсь социальным обслуживанием в asp.net mvc. Я хочу сделать кнопку «нравится». Мне пришла в голову идея составить список людей, которым понравился пост в PostModel, поэтому я добавил эту строку в model.

public virtual ICollection<ApplicationUser> WhoLiked { get; set; }

Возможно, важно, чтобы конструктор миграции не был пустым, но я не мог видеть никаких изменений в базе данных после этой миграции.

Затем я сделал этот метод в контроллере.

         [HttpPost]
        public async Task<IActionResult> Like(int id)
        {
            ApplicationUser model = new ApplicationUser();
            model = await _userManager.FindByEmailAsync(User.Identity.Name);

            var post = await _db.Posts.FindAsync(id);

            if (post.WhoLiked.Contains(model))
            {
                post.Likes -= 1;
                post.WhoLiked.Remove(model);
            }
            else
            {
                post.Likes  = 1;
                post.WhoLiked.Add(model);
            }
            await _db.SaveChangesAsync();
            return RedirectToAction("Dashboard");
        }
 

Я получаю ошибку «ссылка на объект не установлена для экземпляра объекта».

Комментарии:

1. На какой линии вы получили эту ошибку?

2. если (пост. Целиком. Содержит(модель))

3. Теперь поставьте на нем точку останова и выясните , равно ли post , WhoLiked или model равно нулю.

4. WhoLiked равно нулю

5. Теперь пришло время выяснить, почему WhoLiked равно нулю. Проверьте свою базу данных, существует ли соответствующая таблица, проверьте свои миграции и т. Д…