【问题标题】:How can I setup identity in Asp.Net Core 2.0 Target Framework 4.6.1 using Asp.Net.Identity and Entity Framework 6?如何使用 Asp.Net.Identity 和 Entity Framework 6 在 Asp.Net Core 2.0 Target Framework 4.6.1 中设置身份?
【发布时间】:2017-11-14 06:53:03
【问题描述】:

我正在将在Asp.Net 中实施的项目迁移到Asp.Net Core 2.0 target framework 4.6.1。我想继续在 asp.net core 中使用 EF6Asp.Net.Identity,因为 Identity Core 和 Entity Framework Core 有重大的重大变化。

我彻底翻阅了各种官方文档(Core and EF6Identity in Core),在堆栈上搜索了类似(但不完全)questions,但我仍然觉得卡住了,找不到起点。

到目前为止,我能够实现的是:

  • Web 项目(包含 Startup.cs)在核心中以 4.6.1 框架为目标。
  • 身份设置和上下文定义完全位于另一个程序集/项目中,这是一个 4.6.1 类库。
  • 我无法在不同版本的 Core Startup.cs 中导入和注册我以前版本的 Identity 和 EF6。

有可能吗?我已经使用了许多我在研究期间收集的类似变体,但也没有帮助:AddIdentity<ApplicationUser, ApplicationRole>().AddEntityFrameworkStore<Context>()

【问题讨论】:

  • 我建议再回顾一下当前的解决方案。可能值得在最新的 dotNet 2.0 和 EF 核心上进行迁移,并且适应 Asp.Net.Identity(已过时)与 .Net 核心一起使用将花费更少的时间。
  • 创建一个全新的应用程序绝对容易,但我们希望我们的旧应用程序迁移到更新的应用程序;所以重新创建它不是一个好主意,因为我们无法承受突然的两次更改(一个 asp.net 核心和一个 ef 核心)(时间和资源复杂性)..
  • 我认为关键是你应该全力以赴。如果您仍在尝试使用所有旧的 ASP.NET MVC 东西,那么迁移到 ASP.NET Core 没有什么意义。微软在发布 Core 时没有搁置 MVC 是有原因的。这是一个完全不同的应用程序开发范例。您不会“升级”到核心。它需要完全重写应用程序。
  • @KaranDesai 我正在寻找同样的东西,但我找不到它。但是,我为自己创建了一个模板,它使用 Asp.Net.Identity 和 JwtSecurityToken。它似乎正在工作,至少在测试调用中是这样。你可以在这里看到我的项目:github.com/jsucupira/asp-net-core-api-identity-template
  • 如果要迁移到 ASP.NET Core 2,使用 ASP.NET Identity 和 EF6 毫无意义。您必须使用 MVC Core、EF Core 和 Identity Core 才能充分发挥 .NET Core 2 的潜力和意图。我建议您暂时不要考虑。一段时间后,当 EF Core 和 Identity Core 更稳定时,再完全迁移应用程序。

标签: c# asp.net .net entity-framework asp.net-core-2.0


【解决方案1】:

当我从 .NET Core 1 迁移到 .NET Core 2 时,我面临的一个重大变化是删除了使用 INT 作为主键数据类型的功能。

我必须将这个 https://github.com/aspnet/Identity/blob/patch/1.1.3/src/Microsoft.AspNetCore.Identity.EntityFrameworkCore/IdentityEntityFrameworkBuilderExtensions.cs 添加到我的项目中,以便我的旧 EF DB 都使用 INT 作为 PK 在 .NET Core 2 中工作。

您能否详细说明您的问题?

【讨论】:

    【解决方案2】:

    在 ASP.NET Core 项目中有一个 nuget 包 MR.AspNet.Identity.EntityFramework6 可以使用 EF 6 + ASP.NET Core Identity。

    关于github的更多信息。

    【讨论】:

      猜你喜欢
      • 2017-09-30
      • 2017-03-23
      • 2018-02-23
      • 2017-08-05
      • 1970-01-01
      • 2020-07-12
      • 2018-08-21
      • 1970-01-01
      • 2017-04-04
      相关资源
      最近更新 更多