实体框架ef基于什么_论ORM之EFCore初篇(快速基于本地数据库实现数据操作)
发布日期:2021-06-24 17:21:51 浏览次数:2 分类:技术文章

本文共 1638 字,大约阅读时间需要 5 分钟。

a8f42966590b2fb4b72307ca4454d2d4.png

欢迎大家阅读《朝夕Net社区技术专刊》第6期

我们致力于.NetCore的推广和落地,为更好的帮助大家学习,方便分享干货,特创此刊!很高兴你能成为忠实读者,文末福利不要错过哦!

前言:

今天准备带大家一站式学习ORM框架--EFCore;这里给大家介绍EF支持的本地数据库、单元测试、模型生成、数据迁移等。后续内容将持续更新!

正文:

说起ORM框架,我现在依旧感叹,我觉得ORM框架真是我们应用型系统开发的一大福利;其实早在好多年前,我个人曾经使用泛型+反射封装了一套通用的数据库访问层;那时候还觉得,哇,牛掰的很,好高级的样子;但是从我见到这些成型的OMR框架的时候,原来ORM框架竟然如此简单!那ORM框架是什么呢?

ORM 对象关系映射(Object Relational Mapping),如下图所示,其实就是以面向对象的思想对数据库的访问操作做个封装,开发者在使用的时候,不需要关注数据库的各种Sql语句,通过对OMR的操作,达到对数据库数据的增删改查。让开发者降低对数据库的学习成本;一个字,就是爽!

535b37c7e139059cf6b07de9fdf1b7d3.png

下面我就EFCore的一些常规用法做一下做以下介绍:

01PARTEFCore准备环境

本地演示环境:Visual Studio2019 --- Vsersion:16.4.4   +  NetCore3.1.2

个人建议使用Vs2019 升级最新版即可!

Nuget安装:

  1. 1.    Microsoft.EntityFrameworkCore——使用EFCore的核心包,支持了

  2. 2.    Microsoft.EntityFrameworkCore.Relational——关系数据库提供者共享EF Core组件

02PART EFCore支持本地数据库

在实际的项目开发中,我们一般都是使用EFCore去连接各种关系型数据库,例如SqlServer、Orcale、MySql等;在EFCore支持了本地数据库(安装Vs的时候自带的数据库),像我们在学习或者或者在出EFCore的学习Demo 的时候可以做一些测试工作;当然在之前的.NetFramework环境下的EF也是支持的;下面我就EFCore连接本地数据库展示一个单元测试的Demo。

第一步:在解决方案下创建一个单元测试如图1

bf1901ffd325d283b24191d53c46d008.png

图1

0bdbfcc1658c50faa2879a8a832636fb.png

图2

之前在.NetFramework环境下的EF,支持有多种和数据库的连接,Codefirst 数据库先行,DbFirst数据库先行,ModelFirst模型先行;在EFCore中更加推崇CodeFirst,更加推崇从代码先行;如果不是初学者,应该都是知道EF是通过上下文DbContext对数据库做操作的;所以需要定义DbContex;代码如下图:

第二步:定义DbContext上下文:

bd5638dd8439f2bc0e73d03f7e7bebd4.png

如此就可以使用这个DbContext,有上下文,有配置信息DbContextOptions配置参数;那配置参数DbContextOptions怎么配置呢?如图4;这使用到了内存数据库,索引需要Nuget引入程序包:Microsoft.EntityFrameworkCore.InMemory;这个包就是支持内存数据库。

图3

第三步:定义配置信息参数DbContextOptions

fd05a830202c5ed168012d448e03e8bc.png

图4

以上做好准备工作:定义好DbContext上下文;上下文需要的配置信息就可以直接通过上下文DbContext访问内存数据库了。

第四步:还需要定义实体,ORM框架大部分都是通过实体访问数据库做数据的增删改查的:

如图5

4b028fd66983f88cb432c28348be5900.png

图5

第五步:就可以去调用测试一下了:如图6,测试结果如 图7

897c043a0199d0a0e54ddc7078bc7ef6.png

图6

测试结果如图7  图8

b14df7d2cc578a3b900e74eca3b31362.png

图7

f8bc457c89503128cc2e3728c64231e6.png

图8

那么以上7步描述EFCore基于本地数据库已经做了一个简单的新增查询,还没有涉及到我们工作中使用的关系型数据库;可能有同学会疑惑,这样做有啥意义呢?其实在我们实用EFCore的时候,尤其是在初期,为了调试测试,快速的出一个EFCore的Demo;这个过程是非常必要的。

e11d2a217daeb85e162826ddbc55ff9c.png

转载地址:https://blog.csdn.net/weixin_34081553/article/details/112711126 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:里面有面和点_面点师分享几种常见商用配方,解密行业不为人知的秘密
下一篇:绘制三线表_R|tableone 快速绘制文章“表一”-基线特征三线表

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年03月30日 16时08分59秒