博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
十分钟轻松让你认识Entity Framework 7
阅读量:5130 次
发布时间:2019-06-13

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

EF7不是在EF6上更新,而是完全重写了。它完全支持.NET Core runtime,也就是说以后你可以在Mac或者是Linux机器上使用EF了。微笑

  我还在调研使用哪个ORM或者Micro ORM。Massive或者Dapper都不太适合,因为他们都依赖于System.Data,所以跨平台是个问题。

目前准备先使用EF作为一个实现,底层是一个很高的抽象接口,以后如果有合适的轻量级ORM,可以再替换。

回到正题,EF7比较大的变化:

a.只支持Code-First或者Code,不再支持图形界面的生成。

b.支持关系型数据库。

c.跨平台。

 

1.开始安装EF7的包。

按照之前两篇文章介绍的,使用kpm来安装ef7使用Sql Server作为存储的实现(你可以在*inux平台使用EntityFramework.InMemery去存储数据)。

安装完成后,可以看到project.json已经改变。

为了更方便的使用EF,EF团队给我们开发了一个命令包,你可以安装这个命令包来轻松创建数据访问的代码。下面的命令来安装EntityFramework.Commands

 

 

2.使用命令来生成代码。

这块儿算是比较酷的,相对于之前版本的.NET,这一点儿算是很好的学习别的语言亮点。

下面我们需要编辑一下project.json来添加一个命令,用来通过ef生成代码。

和k web类似,我们可以通过 k ef来创建DbContent文件和对应的SQL语句。

不过先通过 k ef来看一个神奇的事情:

可以看到k ef对应的有三个子命令,context和migration以及帮助命令。

context命令是无法创建DbContext的,所以需要手动创建一个DbContext,MyDbContext.cs文件。

接下是执行migration命令,使用migration来生成code-first的代码。

执行k ef migration add “initial”命令。

查看代码文件件,可以看到新生成了如下文件:

 

最后我们需要通过apply子命令,来生成数据库中对应的表:

 

执行:k ef migration apply

 

数据库中对应的表自动创建成功:

接下来就可以使用EF进行数据访问了。

3.EF集成到Dependency Injection。。

下面需要做的就是把EF相关的内容注入到.NET5的默认容器中,以方便构造函数注入。

修改project.json如下:

 

4.修改Controller和添加Views文件夹。

接下来就可以修改Controller和添加Views了。

HomeController文件:

 

对应的View文件:

\

 

最后使用K web运行应用程序:

 

因为表中没有数据,所以count为0。致此就完成了EF的使用初级教程。大笑

转载于:https://www.cnblogs.com/zxtceq/p/5346123.html

你可能感兴趣的文章
LeetCode "Best Meeting Point" !
查看>>
《实时控制软件设计》第四周作业
查看>>
Valid Word Abbreviation Leetcode
查看>>
SQL数据库 开启时出现 数据库连接错误2,error:40的问题。如何解决
查看>>
新阶段
查看>>
屏幕适配
查看>>
mysql使用索引优化查询效率
查看>>
lca转RMQ
查看>>
HTML5+CSS3 效果网站集合
查看>>
关于前端开发小程序随笔
查看>>
关于Filter和转发之间的小问题
查看>>
ios framework通用库的制作
查看>>
Python-Day1编写登陆接口
查看>>
口译常见翻译词组
查看>>
Nginx 配置遇到问题
查看>>
安装并配置ROS环境1
查看>>
MySql 记录(1) -- MySQL官网下载地址
查看>>
magento关于站点搬家,换空间
查看>>
FTP之断点续传
查看>>
django模板之变量
查看>>