当前位置:首页 > 技能相关 > .NET > 正文内容

EFCore:什么是Entity Framework Code?

admin1年前 (2023-12-25).NET2700 修订时间:2023-12-26 00:07:59

1.EFCore是什么

Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework数据访问技术。 简单来说EFCore是一种ORM的技术。

熟悉EF开发模式的大都知道,EF主要有三种模式进行开发:DataFirst、CodeFirst、ModelFirst。

而EFCore主要支持两种开发方法: 1、CodeFirst(代码优先)2、DataFirst(数据库优先)。EFCore主要针对代码优先方法,很少提供对数据库优先方法的支持,因为从EF Core 2.0开始不支持可视化的DB模型设计器或向导。

2.EFCore的特点

支持多种数据库 MSSQL ,MySQL,SQLite,InMemory

支持linq查询

支持反向工程,可以将数据库的架构和EFCore模型进行同步

支持迁移,EFCore模型的更改可以通过迁移到同步到数据库架构中

支持日志记录、事件和诊断

支持使用原生的sql语句进行数据操作,类似半自动ORM

3.EFCore和EF6.0的比较

Entity Framework Core是用于.NET Core应用程序的Entity Framework的新版本和改进版本。EFCore是新的,因此仍不如EF 6成熟。

EF Core继续支持与EF 6相同的以下功能和概念。

DbContext和DbSet 资料模型

使用Linq-to-Entities查询

变更追踪

保存更改

移居

EF Core将逐步包括EF 6的大多数功能。但是,EF Core 2.0中不支持EF 6的某些功能,例如:

EDMX /模型的图形可视化

实体数据模型向导(用于数据库优先方法)

ObjectContext API 使用实体SQL查询。

自动迁移

继承:每种类型的表格(TPT)

继承:每个具体类的表(TPC)

不加入实体的多对多 实体分割

空间数据

延迟加载相关数据

使用DbContext进行存储过程映射以进行CUD操作

种子数据

自动迁移

EF Core包含EF 6.x不支持的以下新功能:

轻松的关系配置

批处理INSERT,UPDATE和DELETE操作

内存提供者进行测试

支持IoC(控制反转)

独特的约束

阴影属性

备用键

全局查询过滤器

场图

dbContext池

处理断开实体图的更好模式。

4.EF核心数据库提供商

实体框架核心使用提供程序模型来访问许多不同的数据库。EF Core将提供程序包括为您需要安装的NuGet软件包。

下表列出了EF Core的数据库提供程序和NuGet程序包。

数据库Nuget程序包
SQL ServerMicrosoft.EntityFrameworkCore.SqlServer
MySQLMySql.Data.EntityFrameworkCore(官方版,不建议使用)
MySQLPomelo.EntityFrameworkCore(第三方提供,Bug少建议使用)
PostgreSQLNpgsql.EntityFrameworkCore.PostgreSQL
SQLiteMicrosoft.EntityFrameworkCore.SQLite
SQL CompactMicrosoft.EntityFrameworkCore.SQLite
In-memoryMicrosoft.EntityFrameworkCore.InMemory

1、SQL Compact 是小型压缩型嵌入式数据库
2、In-memory,内存数据库

拓展目录:

01、EFCore:Entity Framework Code初体验

02、EFCore:DBContext的基本配置

03、EFCore:表之间映射关系与导航属性的解读

04、EFCore:谈谈数据迁移、回退等方面

05、EFCore:详谈Entity Framework Code基础查询

06、EFCore:详谈Entity Framework Code高级查询

转载自:本系列文章来源于CSDN:全能哆来梦相关课程《EFCore 从入门到精通》,网址:https://blog.csdn.net/xieyunhappy/article/details/112075402 。内容有部分删减与修改,敬请谅解。


 您阅读本篇文章共花了: 

免责声明
本站内容均为博客主本人日常使用记录的存档,如侵犯你的权益请联系:lifei@zaiheze.com 546262132@qq.com 沟通删除事宜。本站仅带访问端口形式使用,已杜绝搜索引擎爬取。

扫描二维码推送至手机访问。

版权声明:本文由LIFEI - blog发布,如需转载请注明出处。

本文链接:http://www.lifeiai.com/?id=345

分享给朋友:

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。