Ошибка после добавления страницы Razor с использованием Entity Framework (CRUD). Пространство имен уже содержит это определение и неоднозначность между моделями - PullRequest
0 голосов
/ 30 марта 2020

Я новичок в веб-разработке. Пишу ASP. NET Core проект с помощью учебника PluralSight .

У меня был список ресторанов, использующих SqlServer, с обычными операциями, такими как удаление, редактировать, et c. Но когда я использовал Страница Razor с использованием Entity Framework (CRUD) и создал эти страницы как скаффолдинг, он показывает некоторые ошибки, когда я хочу построить проект.

Снимок экрана обозревателя решений

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

Ошибка CS0101 Пространство имен «OdeToFood» уже содержит определение для «DeleteModel»

Ошибка CS0229 Неопределенность между «DeleteModel.Restaurant» и «DeleteModel» .Restaurant '

Снимок экрана со списком ошибок

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

1 Ответ

0 голосов
/ 30 марта 2020

Я использовал разные пространства имен, и это решило проблему.

Я попытался изменить имена «пространства имен» в новой версии Razor Pages (которые были созданы на странице Razor с использованием Entity Framework (CRUD)). И ошибки исчезли.

Например, я изменил пространство имен "OdeToFood" в Delete.cshtmll.cs с "OdeToFood" на:

namespace OdeToFood.Pages.R2
    {
        .....
    }

Затем на его странице бритвы, Delete.cs html, я использовал новое пространство имен:

@model OdeToFood.Pages.R2.DeleteModel
...