【问题标题】:Error after adding Razor page using Entity Framework (CRUD). The namespace already contains that definition and Ambiguity between models使用实体框架 (CRUD) 添加 Razor 页面后出错。命名空间已经包含该定义和模型之间的歧义
【发布时间】:2020-07-10 19:13:53
【问题描述】:

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

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

Screen shot of solution explorer

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

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

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

Screen shot of Error list

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

【问题讨论】:

    标签: asp.net-core razor-pages


    【解决方案1】:

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

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

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

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

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

    @model OdeToFood.Pages.R2.DeleteModel
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-13
      相关资源
      最近更新 更多