能否保留ASP.Net框架,从EF6迁移至EF Core并兼容原有Identity包?
关于EF6迁移至EF Core且保留ASP.NET Framework的可行性
很遗憾地告诉你,你没办法在保留ASP.NET Framework的同时,把EF6迁移到EF Core并继续使用Identity相关功能,核心原因和可行方向如下:
- 首先,
Microsoft.AspNet.Identity.EntityFramework是专为ASP.NET Framework+EF6打造的组件,完全不兼容EF Core;而对应的Microsoft.AspNetCore.Identity.EntityFrameworkCore是深度绑定ASP.NET Core生态的,它依赖ASP.NET Core的基础运行组件,根本没法在传统ASP.NET Framework项目中运行。 - EF Core本身确实可以在ASP.NET Framework项目(.NET Framework 4.6.1及以上版本)中单独使用,但Identity是例外——ASP.NET Framework的Identity系统和ASP.NET Core的Identity是完全独立的两套实现,没有官方的兼容桥接方案。
给你两个实际可行的方向参考:
- 完全迁移到ASP.NET Core:这是官方推荐的长期方案,虽然初期工作量大,但能享受到Core的所有新特性,而且Identity与EF Core的集成是原生支持的,后续维护会更省心。
- 混合过渡模式:如果暂时不想动ASP.NET框架,可以先只迁移非Identity相关的数据访问部分到EF Core,Identity模块继续沿用原来的EF6版本。不过这种混合模式会增加项目复杂度,只适合短期过渡。
内容的提问来源于stack exchange,提问作者Emil L
相关产品推荐
相关产品推荐

