欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

EF core Code First 一些小结

程序员文章站 2022-03-17 09:50:43
好吧,我又回来了,其实一直都想写一篇关于EF core 的文章去记录自己在开发时候遇到的问题。 EF core 就是字面上的意思咯,EF 就是.Net上用的很多的ORM框架,core呢,就是在.Net core 上使用的EF咯。 为什么要使用EF框架呢,因为原始的ADO.NET需要编写大量的数据访问 ......

           好吧,我又回来了,其实一直都想写一篇关于EF core 的文章去记录自己在开发时候遇到的问题。

EF core 就是字面上的意思咯,EF 就是.Net上用的很多的ORM框架,core呢,就是在.Net core 上使用的EF咯。

为什么要使用EF框架呢,因为原始的ADO.NET需要编写大量的数据访问代码,所以使用EF会更方便。但是今天

只讲Code First,Code First非常好用。但是表都需要自己写代码去建立,不能可视化建立,提醒大家还是需要

惯不可视化操作为好。

首先是怎么使用EF core呢,需要去安装Nuget包,我使用的是MySQL数据库,所以安装的是Pomelo.EntityFrameworkCore.MySql

和Pomelo.EntityFrameworkCore.MySql.Design 

可以在Nuget 包管理器里搜索安装,也可以在Nuget包管理控制台里输入  Install-Package Pomelo.EntityFrameworkCore.MySql   和

 Install-Package Pomelo.EntityFrameworkCore.MySql.Design 安装。

EF core Code First 一些小结

这里有个大问题就是Pomelo.EntityFrameworkCore.MySql这个包版本不兼容的问题,如果你的.Net core版本是2.1,那么请安装2.1.0版本,因为2.1.1会报错。

如果没有2.1.0版本,那么久安装最新的,然后在csproj里面修改版本就可以了,如图:

EF core Code First 一些小结

安装完之后就可以使用了。

还需要配置的就是在Startup类上,配置DbContext,还有连接字符串在AppSetting.json中

EF core Code First 一些小结

 

ORM,对象关系映射,通俗点讲就是将实体的属性和字段联系起来。

下图就是一个类,包含了很多属性。

EF core Code First 一些小结

那么如何将它们联系起来呢。

首先你需要建立一个上下文类,也就是DbContext,别忘了引用Microsoft.EntityFrameworkCore 这个命名空间

EF core Code First 一些小结

这样就把建立表的代码写好了,userID作为主键,其他作为属性,最大长度为32。

之后就可以在Nuget 包管理控制台执行迁移了。

在Nuget 包管理控制台输入Enable-Migrations 启用迁移   然后 Add-Migration name, name是迁移的名字,

然后一个迁移就被添加了,接下来就是执行迁移Update-Migration,这样你会发现你的数据库多了一张表EF core Code First 一些小结

完成上述操作之后就可以对数据库进行操作了,增删改查之类滴。可以用linq,也可以用lambda表达式。

总之,傻瓜式的EF Core的使用方法就在这里咯。其实我是写给自己看的,怕忘记那个版本问题,哈哈哈。