EF Core 2.0是开源的,轻量级的,可扩展的,跨平台的OR Mapping框架
预装:Microsoft.EntityFrameworkCore.SqlServer,EF Core Tools for PMC
可选:EF Core Tools for dotnet CLI
1.延迟加载是不被支持的
2.可以在Linq查询中使用自定义函数,EF6是不可以的
3.EF Core可以支持theninclude,EF6是不可以的
4.Include()方法中可以支持lambda表达式参数,而EF6是不支持的
5.Include()方法是不能够使用在DbSet.Find()之后的,也就是说类似context.Students.Find(1).Include()在2.0是不被支持的
6.ThenInclude()必须在Include()方法调用之后接着调用才可以正确调用,否则是不被支持的
7.EF Core支持一对一的实体关系约定,而且是通过唯一性unique约束施加在依赖的实体上来实现的,EF6是不支持唯一性约束,所 以EF6及以下版本无法支持一对一的实体关系约定,若非要实现这样的关系可以通过刘畅的fluent API来实现
8.Fluen API流畅的API相对于数据注解Data Annotataion方式,对类实体的配置优先级更高一些
9.FromSQL只能返回同一类型数据,而且必须返回表中所有列,不能够在sql中使用join
10.调用存储过程不能够执行cud操作
11.remove-migration仅仅回退到前一个版本的migration迁移,前提是上一个迁移还未应用与数据库,也就是还未执行update-database
12.对已经update-database的迁移要进行恢复需要利用update-database 指定版本的迁移
13.Script-migration默认生成的脚本包括所有迁移的脚本,要指定需要的脚本需要加上-from -to进行指定
14.执行迁移操作可以采用PMC和CLI两种方式
15.基于以上几点,未来的EF CORE3.0会更加便利,许多feature会实现完善