1、历史:
Entity Framework和Entity Framework Core(EF Core)是一个提供了实体-关系映射的架构。通过他们可以创建映射到数据库表的类型,使用LINQ创建数据库查询,创建和更新对象,把他们写入数据库。
Entity Framework经过多年的改变,EF Core已经完成重写。
Entity Framework 1:适用于.NET 3.5 SP1;
Entity Framework 4:可用于.NET 4;
Entity Framework 5:支持.NET Framework 4.5和.NET Framework4.0.
Entity Framework 6:主要解决了Entity Framework 5的一些问题
Entity Framework Core:新版有了新的名称,是对Entity Framework的完全重写。EF Core不仅可以在Windows上使用,还可以在Linux、Mac上使用,既支持关系数据库,也支持NoSQL数据存储。
Entity Framework Core 5.0:截止目前最新的版本
2、EF6 和EF Core比较
EF Core 提供了不会在 EF6 中实现的新功能。 但是,并非所有 EF6 功能都已在 EF Core 中实现。
点击参考官网
注意:EF Core 3.1 通过使用 .NET Standard 2.0 在 .NET Core 和 .NET Framework 上运行。 但 EF Core 5.0 不会在 .NET Framework 上运行。
3、迁移
从EF6迁移到EF Core,点击参考官网
4、同时使用EF6和EF Core
通过安装这两个 NuGet 包,可在同一应用程序或库中使用 EF Core 和 EF6。
某些类型在 EF Core 和 EF6 中具有相同的名称,并且仅命名空间有所不同,这可能会使在同一代码文件中同时使用 EF Core 和 EF6 变得复杂。 可通过命名空间别名指令轻松消除多义性。 例如:
using Microsoft.EntityFrameworkCore; // use DbContext for EF Core using EF6 = System.Data.Entity; // use EF6.DbContext for the EF6 version
如果要迁移具有多个 EF 模型的现有应用程序,则可以将其中一些选择性地迁移到 EF Core,其余程序则继续使用 EF6。
接下来开始EF core的学习之旅~