EF Core的基础知识

Entity Framework(EF) Core

概念

EF Core 全称是Entity Framework Core,可使用 EF Core 开发面向 .NET Core 的应用,EF Core 同时支持在 Visual StudioVisual Studio for Mac 或 Visual Studio Code 等环境下开发。虽然EF CORO 同样支持在Xamarin和.Net Native 上实现运行,但是存在运行限制,可能会影响EF Core处理的效率,暂不推荐使用

技术大纲

实体框架核心

实体框架核心是继EF 6.x之后的实体框架的新版本。它是一种开源、轻量级、可扩展的跨平台版本的实体框架数据访问技术。

实体框架是一个对象/关系映射(O/RM)框架。它是对ADO.NET的增强,为开发人员提供了访问和存储数据库中数据的自动化机制。

EF Core旨在与.NET Core应用程序一起使用。但是,它也可以与基于.NET 4.5+框架的标准应用程序一起使用。

下图说明了支持的应用程序类型、.NET Framework和操作系统。

 

EF核心开发方法

EF Core支持两种开发方法1)代码优先2)数据库优先。EF Core主要以代码优先的方法为目标,很少支持数据库优先的方法,因为EF Core 2.0不支持数据库模型的可视化设计器或向导。

在代码优先方法中,EF Core API基于域类中提供的约定和配置,使用迁移创建数据库和表。这种方法在领域驱动设计(DDD)中很有用。

在数据库优先方法中,EF Core API使用EF Core命令基于现有数据库创建域和上下文类。这在EF Core中的支持有限,因为它不支持可视化设计器或向导。

 

安装或更新EF Core Sql Server的三个方法

NET Core CLI (控制台命令行操作页面可执行)

执行“dotnet add package Microsoft.EntityFrameworkCore.SqlServer”该指令

可以使用 -v 修饰符在 dotnet add package 命令中指明特定的版本。 例如,若要安装 EF Core 2.2.0 包,请将 -v 2.2.0 追加到命令中

Visual Studio NuGet 包管理器对话框

从 Visual Studio 菜单中选择“项目”>“管理 NuGet 包“

单击“浏览”或“更新”选项卡

若要安装或更新 SQL Server 提供程序,请选择 Microsoft.EntityFrameworkCore.SqlServer 包并确认。

Visual Studio NuGet 包管理器控制台

从 Visual Studio 菜单中选择“工具”>“NuGet 包管理器”>“包管理器控制台”

Install-Package Microsoft.EntityFrameworkCore.SqlServer

若要更新提供程序,使用 Update-Package 命令

若要指定特定版本,可以使用 -Version 修饰符。 例如,若要安装 EF Core 2.2.0 包,请将 -Version 2.2.0 追加到命令中

EF中的重要元素DBContext

DbContext是实体类和数据库之间的桥梁, DbContext主要负责与数据交互,主要作用:

1、DbContext包含所有的实体映射到数据库表的实体集(DbSet < TEntity >)

2、DbContext 将LINQ-to-Entities查询转换为SQL查询并将其发送到数据库

3、更改跟踪: 它跟踪每个实体从数据库中查询出来后发生的修改变化

4、持久化数据: 它也基于实体状态执行插入、更新和删除操作到数据库中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值