首页 > 解决方案 > 使用实体框架 (CRUD) 添加 Razor 页面后出错。命名空间已经包含该定义和模型之间的歧义

问题描述

我是网络开发的新手。正在通过 PluralSight教程编写ASP.NET Core项目。

我有一个使用 SqlServer 的餐厅列表,其中包含删除、编辑等常规操作。但是当我使用实体框架 (CRUD) 使用 Razor 页面并搭建这些页面时,当我想构建项目时它会显示一些错误。

解决方案资源管理器的屏幕截图

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

错误 CS0101 命名空间“OdeToFood”已包含“DeleteModel”的定义

错误 CS0229 'DeleteModel.Restaurant' 和 'DeleteModel.Restaurant' 之间的歧义

错误列表的屏幕截图

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

标签: asp.net-corerazor-pages

解决方案


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

我试图在新版本的 Razor 页面中更改“命名空间”名称(由 Razor 页面使用实体框架 (CRUD) 搭建)。并且错误消失了。

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

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

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

@model OdeToFood.Pages.R2.DeleteModel

推荐阅读