十分钟轻松让你认识Entity Framework 7

EF7不是在EF6上更新,而是彻底重写了。它彻底支持.NET Core runtime,也就是说之后你能够在Mac或者是Linux机器上使用EF了。微笑git

https://github.com/nicholaspei/OrchardNoCMS  我还在调研使用哪一个ORM或者Micro ORM。Massive或者Dapper都不太适合,由于他们都依赖于System.Data,因此跨平台是个问题。github

目前准备先使用EF做为一个实现,底层是一个很高的抽象接口,之后若是有合适的轻量级ORM,能够再替换。web

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

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

b.支持关系型数据库。app

c.跨平台。函数

 

1.开始安装EF7的包。学习

image

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

安装完成后,能够看到project.json已经改变。3d

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

image

 

image

 

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

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

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

image

和k web相似,咱们能够经过 k ef来建立DbContent文件和对应的SQL语句。

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

image

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

context命令是没法建立DbContext的,因此须要手动建立一个DbContext,MyDbContext.cs文件。

image

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

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

image

查看代码文件件,能够看到新生成了以下文件:

image

 

最后咱们须要经过apply子命令,来生成数据库中对应的表:

image

 

执行:k ef migration apply

 

image

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

image

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

3.EF集成到Dependency Injection。。

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

修改project.json以下:

image

 

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

接下来就能够修改Controller和添加Views了。

HomeController文件:

image

 

对应的View文件:

image\

 

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

image

 

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

相关文章
相关标签/搜索