Ошибка CS0229 Неоднозначность между «CreateModel._context» и «CreateModel._context» - PullRequest
0 голосов
/ 30 января 2020

Я выполнил следующие уроки по адресу: Урок. Создание веб-приложения 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)

Моя проблема заключается в том, что после VS генерирует соответствующий код, приложение не компилируется, поскольку выдает десятки ошибок, таких как:

Error   CS0229  Ambiguity between 'CreateModel._context' and 'CreateModel._context' RazorPagesMovie

Может кто-нибудь сообщить мне, почему эта ошибка появляется?

Редактировать: После создания леса я заметил, что у меня одинаковые имена файлов (и классы в моем решении). Например, у меня есть класс CreateModel , который был автоматически сгенерирован скаффолдингом, объявленным дважды (один раз для фильмов и один раз для обзоров):

File structure

Редактировать 2: Кажется, что оба класса CreateModel (для фильмов и обзоров) имеют абсолютно одинаковое пространство имен (пространство имен RazorPagesMov ie). Разве они не должны выглядеть примерно так: пространство имен RazorPagesMov ie .Pages.Movies и пространство имен RazorPagesMov ie .Pages.Reviews соответственно?

1 Ответ

0 голосов
/ 30 января 2020

Очевидно, что в Visual Studio существует известная проблема, заключающаяся в том, что при скаффолдинге пространство имен не генерируется правильно.

Ссылки:

Проблема пространства имен при создании страниц Razor в VS 2019

Неправильное пространство имен лесов

...