
欢迎大家阅读《朝夕Net社区技术专刊》第6期
我们致力于.NetCore的推广和落地,为更好的帮助大家学习,方便分享干货,特创此刊!很高兴你能成为忠实读者,文末福利不要错过哦!
前言:
今天准备带大家一站式学习ORM框架--EFCore;这里给大家介绍EF支持的本地数据库、单元测试、模型生成、数据迁移等。后续内容将持续更新!
正文:
说起ORM框架,我现在依旧感叹,我觉得ORM框架真是我们应用型系统开发的一大福利;其实早在好多年前,我个人曾经使用泛型+反射封装了一套通用的数据库访问层;那时候还觉得,哇,牛掰的很,好高级的样子;但是从我见到这些成型的OMR框架的时候,原来ORM框架竟然如此简单!那ORM框架是什么呢?
ORM 对象关系映射(Object Relational Mapping),如下图所示,其实就是以面向对象的思想对数据库的访问操作做个封装,开发者在使用的时候,不需要关注数据库的各种Sql语句,通过对OMR的操作,达到对数据库数据的增删改查。让开发者降低对数据库的学习成本;一个字,就是爽!

下面我就EFCore的一些常规用法做一下做以下介绍:
Nuget安装:
1. Microsoft.EntityFrameworkCore——使用EFCore的核心包,支持了
2. Microsoft.EntityFrameworkCore.Relational——关系数据库提供者共享EF Core组件
在实际的项目开发中,我们一般都是使用EFCore去连接各种关系型数据库,例如SqlServer、Orcale、MySql等;在EFCore支持了本地数据库(安装Vs的时候自带的数据库),像我们在学习或者或者在出EFCore的学习Demo 的时候可以做一些测试工作;当然在之前的.NetFramework环境下的EF也是支持的;下面我就EFCore连接本地数据库展示一个单元测试的Demo。
第一步:在解决方案下创建一个单元测试如图1

图1

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

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

图4
以上做好准备工作:定义好DbContext上下文;上下文需要的配置信息就可以直接通过上下文DbContext访问内存数据库了。
第四步:还需要定义实体,ORM框架大部分都是通过实体访问数据库做数据的增删改查的:
如图5

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

图6
测试结果如图7 图8

图7

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

如果看完本文让你有所收获,
别忘转发扩散,和更多人分享学习的快乐!
扫码关注公众号朝夕Net社区回复”第六期“
即可获取本期配套教学视频及课件!
往期精彩:
【朝夕技术专刊】Core3.1WebApi_Filter-Authorize详解
【朝夕技术专刊】Core3.1WebApi_Filter多种注册方式支持依赖注入
【朝夕技术专刊】WebApi部署多服务器配置Nginx负载均衡
《朝夕Net社区技术专刊》持续更新,欢迎扫码关注!






