首页 > 解决方案 > 为什么使用实体框架添加新剃须刀页面时出现“类型不存在”错误

问题描述

我正在尝试使用 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}");
        }
    }
}

我用于脚手架的参数

标签: visual-studiorazor-pages

解决方案


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


推荐阅读