【问题标题】:The type or namespace name 'Dbset<>' could not be found (are you missing a using directive or an assembly reference?)找不到类型或命名空间名称“Dbset<>”(您是否缺少 using 指令或程序集引用?)
【发布时间】:2021-02-27 16:02:13
【问题描述】:

我正在尝试在 Razor 页面中使用数据库。但是当我使用命令 dotnet run 时出现此错误:“错误 CS0246:找不到类型或命名空间名称 'Dbset'(您是否缺少 using 指令或程序集引用?)” 代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Logging;
using Microsoft.EntityFrameworkCore;

namespace myWebApp.Models
{
    public class ConnectionstringClass: DbContext
    {
        public ConnectionstringClass(DbContextOptions<ConnectionstringClass> options) :base(options)
        {

        }
        public Dbset<Reservation> Reservation {get; set;}
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Reservation>().ToTable("Reservation");
            
        }
    }
}

这里是包参考:

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" Version="3.1.1"/>
    <PackageReference Include="Npgsql" Version="4.1.3.1" />
    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="3.1.4" />
    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL.Design" Version="1.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0"/>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0"/>
    <PackageReference Include="EntityFramework" Version="5.0.0"/>
  </ItemGroup>

 <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.0"/>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0"/>
 </ItemGroup>

【问题讨论】:

  • 将 Dbset 更改为 DbSet

标签: c# entity-framework entity-framework-core razor-pages


【解决方案1】:

是的,你有一个错字。使用DbSet&lt;Reservation&gt; 代替Dbset&lt;Reservation&gt;

【讨论】:

    【解决方案2】:
     public DbSet<Reservation> Reservation {get; set;}
    

    是正确的。不是

    public Dbset<Reservation> Reservation {get; set;}
    

    【讨论】:

      猜你喜欢
      • 2013-08-28
      • 1970-01-01
      • 1970-01-01
      • 2012-05-01
      • 2020-11-28
      • 2015-06-12
      • 2015-04-19
      • 2013-05-22
      • 2020-03-29
      相关资源
      最近更新 更多