EF core Code First 一些小结
好吧,我又回来了,其实一直都想写一篇关于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 安装。
这里有个大问题就是Pomelo.EntityFrameworkCore.MySql这个包版本不兼容的问题,如果你的.Net core版本是2.1,那么请安装2.1.0版本,因为2.1.1会报错。
如果没有2.1.0版本,那么久安装最新的,然后在csproj里面修改版本就可以了,如图:
安装完之后就可以使用了。
还需要配置的就是在Startup类上,配置DbContext,还有连接字符串在AppSetting.json中
ORM,对象关系映射,通俗点讲就是将实体的属性和字段联系起来。
下图就是一个类,包含了很多属性。
那么如何将它们联系起来呢。
首先你需要建立一个上下文类,也就是DbContext,别忘了引用Microsoft.EntityFrameworkCore 这个命名空间
这样就把建立表的代码写好了,userID作为主键,其他作为属性,最大长度为32。
之后就可以在Nuget 包管理控制台执行迁移了。
在Nuget 包管理控制台输入Enable-Migrations 启用迁移 然后 Add-Migration name, name是迁移的名字,
然后一个迁移就被添加了,接下来就是执行迁移Update-Migration,这样你会发现你的数据库多了一张表
完成上述操作之后就可以对数据库进行操作了,增删改查之类滴。可以用linq,也可以用lambda表达式。
总之,傻瓜式的EF Core的使用方法就在这里咯。其实我是写给自己看的,怕忘记那个版本问题,哈哈哈。
推荐阅读
-
5.翻译系列:EF 6中数据库的初始化(EF 6 Code-First 系列)
-
【基于EF Core的Code First模式的DotNetCore快速开发框架】完成对DB First代码生成的支持
-
9.3 翻译系列:数据注解特性之Key【EF 6 Code-First 系列】
-
开源题材征集 + MVC&EF Core 完整教程小结
-
asp.net vs2010中使用 ef code first 详解
-
EF Code First列名 'Discriminator' 无效的问题
-
.NET-ORM框架EF-Code First代码优先
-
EF Core 2.0使用MsSql/Mysql实现DB First和Code First
-
EF Code First中的主外键约定和一对一、一对多关系的实现
-
EF code first 分享