Я выполнил следующие уроки по адресу: Урок. Создание веб-приложения Razor Pages с ASP. NET Core
После его завершения я решил добавить Отзывы в Фильмы (просто чтобы узнать). Таким образом, я добавил новый класс Review в свою папку «Models»:
public class Review
{
public int ID { get; set; }
//[StringLength(50, ErrorMessage = "The Title must be less than {1} characters.")]
[StringLength(60, MinimumLength = 3)]
[Required]
public string Title { get; set; }
public string Description { get; set; }
[Range(1, 5)]
public int Rating { get; set; }
}
Затем внутри папки «Pages» я создал новую с именем «Reviews» и щелкнул правой кнопкой мыши -> Add -> New scaffolded Вещь. После выбора Razor Pages с использованием Entity Framework (CRUD) я добавил следующие детали, как показано на рисунке: ![Add Razor Pages using Entity Framework (CRUD)](https://i.stack.imgur.com/IFT0p.png)
Моя проблема заключается в том, что после VS генерирует соответствующий код, приложение не компилируется, поскольку выдает десятки ошибок, таких как:
Error CS0229 Ambiguity between 'CreateModel._context' and 'CreateModel._context' RazorPagesMovie
Может кто-нибудь сообщить мне, почему эта ошибка появляется?
Редактировать: После создания леса я заметил, что у меня одинаковые имена файлов (и классы в моем решении). Например, у меня есть класс CreateModel , который был автоматически сгенерирован скаффолдингом, объявленным дважды (один раз для фильмов и один раз для обзоров):
![File structure](https://i.stack.imgur.com/ypQRg.png)
Редактировать 2: Кажется, что оба класса CreateModel (для фильмов и обзоров) имеют абсолютно одинаковое пространство имен (пространство имен RazorPagesMov ie). Разве они не должны выглядеть примерно так: пространство имен RazorPagesMov ie .Pages.Movies и пространство имен RazorPagesMov ie .Pages.Reviews соответственно?