使用 Entity Framework (CRUD) 添加 Razor 页面后出错。命名空间已经包含该定义和模型之间的歧义

Error after adding Razor page using Entity Framework (CRUD). The namespace already contains that definition and Ambiguity between models

我是网络开发新手。正在通过 PluralSight tutorial.

编写 ASP.NET Core 项目

我有一个使用 SqlServer 的餐厅列表,具有删除、编辑等常用操作。但是当我使用 Razor 页面时,使用 Entity Framework (CRUD) 和脚手架那些页面,当我想构建项目时它显示了一些错误。

Screen shot of solution explorer

它工作正常,直到我在 R2 文件夹中创建了脚手架页面并出现了几个错误。他们都是这样的:

Error CS0101 The namespace 'OdeToFood' already contains a definition for 'DeleteModel'

Error CS0229 Ambiguity between 'DeleteModel.Restaurant' and 'DeleteModel.Restaurant'

Screen shot of Error list

我尝试了另一个类似的项目,它也抛出了类似的错误。 我也花时间 google 它并在这里阅读一些问题。但是找不到真正类似的问题。

我使用了不同的命名空间,它解决了这个问题。

我尝试在新版本的 Razor Pages 中更改 "namespace" 名称(由 Razor 页面使用 Entity Framework (CRUD) 构建的脚手架)。错误消失了。

例如,我将 Delete.cshtmll.cs 中的命名空间 "OdeToFood" 从 "OdeToFood" 更改为:

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

然后,在它的 razor 页面中,Delete.cshtml,我使用了新的命名空间:

@model OdeToFood.Pages.R2.DeleteModel