【发布时间】:2017-11-14 06:53:03
【问题描述】:
我正在将在Asp.Net 中实施的项目迁移到Asp.Net Core 2.0 target framework 4.6.1。我想继续在 asp.net core 中使用 EF6 和 Asp.Net.Identity,因为 Identity Core 和 Entity Framework Core 有重大的重大变化。
我彻底翻阅了各种官方文档(Core and EF6、Identity 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