Entity framework core 如何配置ASP.NET Core 3.1网站的身份、身份验证和授权以使用Entity Framework 6.4
提供.NET标准2.1版EF6的目的是帮助分阶段升级现有项目 因此,我们有一个现有的解决方案,包括网站、windows服务和控制台应用程序。我们正在将其从.NET Framework升级到.NET Core 最好在.NETCore中重新运行,但目前仍使用.NET标准2.1版本的EF6 EF6模型源于Entity framework core 如何配置ASP.NET Core 3.1网站的身份、身份验证和授权以使用Entity Framework 6.4,entity-framework-core,asp.net-identity,asp.net-core-3.1,entity-framework-6.4,Entity Framework Core,Asp.net Identity,Asp.net Core 3.1,Entity Framework 6.4,提供.NET标准2.1版EF6的目的是帮助分阶段升级现有项目 因此,我们有一个现有的解决方案,包括网站、windows服务和控制台应用程序。我们正在将其从.NET Framework升级到.NET Core 最好在.NETCore中重新运行,但目前仍使用.NET标准2.1版本的EF6 EF6模型源于IdentityDbContext,以包含用户、角色等的身份存储 public class DbContextTasking : IdentityDbContext<AspNetUser, As
IdentityDbContext
,以包含用户、角色等的身份存储
public class DbContextTasking : IdentityDbContext<AspNetUser, AspNetRole, string, AspNetUserLogin, AspNetUserRole, AspNetUserClaim>
但是,.UseSqlServer来自程序集Microsoft.EntityFrameworkCore.SqlServer
以及:
services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
.AddEntityFrameworkStores<DbContextTasking>()
.AddDefaultTokenProviders();
因此,有人会认为,要让EF6与ASP.NET Core协同工作,就需要一个类似于Microsoft.AspNetCore.Identity.EntityFramework6的包(化名)
如果可以将EF6.4(inc.身份相关表)与ASP.NET Core结合使用,请您举出一个实现此目的的示例
或者,如果您知道这样的组合绝对不可能,请告诉我。ASP.NET核心标识不支持EF6;您只能使用EF Core。微软喜欢随意地建议,只要EF Core有缺陷(而且经常有很多缺陷),就可以使用EF6,然而自从.NET Core诞生以来,仍然存在着这种明显的支持真空 您有三种选择:
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
.AddEntityFrameworkStores<DbContextTasking>()
.AddDefaultTokenProviders();
Microsoft.AspNetCore.Identity.EntityFrameworkCore