请选择 进入手机版 | 继续访问电脑版

EFCore 从入门到精通-1(总览)

[复制链接]
苍野狼步 发表于 2021-1-2 19:45:05 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
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的新版本和改进版本。EF
Core是新的,因此仍不如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.SqlServerMySQLMySql.Data.EntityFrameworkCore(官方版,不发起使用)MySQLPomelo.EntityFrameworkCore(第三方提供,Bug少发起使用)PostgreSQLNpgsql.EntityFrameworkCore.PostgreSQLSQLiteMicrosoft.EntityFrameworkCore.SQLiteSQL CompactMicrosoft.EntityFrameworkCore.SQLiteIn-memoryMicrosoft.EntityFrameworkCore.InMemoryNote:
1、SQL Compact 是小型压缩型嵌入式数据库
2、In-memory,内存数据库

来源:https://blog.csdn.net/xieyunhappy/article/details/112075402
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )