将身份脚手架添加到ASP.NET核心MVC解决方案-获取错误



错误:

已找到DBContext类型"MvcMovieContext",但它不是从Microsoft继承的。ASPNetCore。身份EntityFrameworkCore。标识DBContext

我使用Visual Studio 2019的最新升级所遵循的过程:最新相关&安装的其他软件包(显示Nuget解决方案(

  • 微软。AspNetCore。身份EntityFrameworkCore 5.0.6
  • 微软。EntityFrameworkCore。SQL Server 5.0.6
  • 微软。AspNetCore。身份UI 5.0.6
  • 微软。EntityFrameworkCore。设计5.0.6
  • 微软。EntityFrameworkCore。工具5.0.6

StartUp.cs

using Microsoft.EntityFrameworkCore;
using MvcMovie.Data;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddDbContext<MvcMovieContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("MvcMovieContext")));
}

指定身份脚手架模板后

  • keep~Views\Shared_Layout.chtml页面

  • 指定为MvcMovie的数据库上下文类。数据MvcMovieContext

  • 没有文件覆盖

  • 没有指定用户类别的

  • ok

  • 进程更新依赖项

  • 构建解决方案,直到出现错误

我在这里和github审查了类似的问题。我(新手(能找到的最接近的是Microsoft.EntityFrameworkCore.SqlServer中缺少UseSqlServer()方法

我已经查看了正在工作的MvcMovie解决方案的构建文件。我已经更新了依赖项。如果有人能告诉我如何解决为什么CCD_;不是从Microsoft继承的。ASPNetCore。身份EntityFrameworkCore。IdentityDBContext";那么我将不胜感激。

正如@Matt U在评论中所说,将DbContext更改为IdentityDbContext以及包含

using Microsoft.AspNetCore.Identity.EntityFrameworkCore;

在CCD_ 7文件中。

我和往常一样遇到了同样的问题。我认为使用不同的DB上下文进行身份验证是一种很好的做法,但我正试图从Azure免费帐户中完成我的业务应用程序,而你只得到一个数据库,所以我还需要使用我的主DB进行身份验证。因此,我必须继承IdentityDbContext

我曾考虑使用Azure Active Directory进行身份验证和条件访问,但对于一家只有5个用户的小公司来说,这似乎太复杂了。事实上,身份验证非常容易,但对于我的简单需求来说,创建和实现条件访问策略似乎太复杂了。

相关内容

最新更新