【问题标题】:Why am I getting "Type does not exist" error adding a new razor page using entity framework为什么使用实体框架添加新剃须刀页面时出现“类型不存在”错误
【发布时间】:2021-12-26 06:57:30
【问题描述】:

我正在尝试使用 Visual Studio 2022 和 EF Core 6。我创建了一个包含三个项目的解决方案,一个包含我的剃须刀页面,一个包含我的 dbcontext,一个包含我的实体。我能够毫无问题地进行迁移,创建数据库和单个表,这对我来说表明我一切正常,但是当我去添加一个剃须刀页面并允许 VS 为我连接一个“列表”模板时,它旋转了一分钟并给我一个错误:名为 Scaffolding.Entities.EncylopediaEntry 的类型不存在。

这是显然不存在的类

using System.ComponentModel.DataAnnotations;

namespace Scaffolding.Entitites
{
    public class EncylopediaEntry
    {
        public Guid Id { get; set; }
        public string Name { get; set; }
        public string Description { get; set; } 
    }
}

这里是带有硬编码连接字符串的 DbContext,因为我正试图弄清楚为什么脚手架不起作用

using Microsoft.EntityFrameworkCore;
using Scaffolding.Entitites;

namespace ScaffoldingTest.Data
{
    public class ScaffoldingContext : DbContext
    {
        public DbSet<EncylopediaEntry> encyclopediaEntries { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer("{remove}");
        }
    }
}

【问题讨论】:

  • 您的三个项目分别针对什么目标框架?
  • 三个项目都针对net6.0

标签: visual-studio razor-pages


【解决方案1】:

我遇到了同样的错误。带有 NET 6.0 的 Visual Studio 2022(也是预览版)。 我安装了 NET 5.0 并使用新项目 net 5 进行了测试,然后运行良好。 但对于 NET 6.0 则不然。

【讨论】:

  • 感谢您仔细检查,非常感谢。看来我应该弄清楚如何向 Microsoft 报告此问题。
  • 我在 2022 年全新安装并安装了数据工具时遇到了同样的问题。不知道如何解决这个新问题。我正在使用 VS 中的报告问题工具来报告问题。
  • 在新的 6.0.1 包中修复了问题。 https://github.com/dotnet/Scaffolding/issues/1705。感谢您的回答。
猜你喜欢
  • 2019-01-25
  • 2020-11-11
  • 1970-01-01
  • 2021-10-27
  • 1970-01-01
  • 1970-01-01
  • 2021-12-19
  • 2021-04-25
  • 1970-01-01
相关资源
最近更新 更多