MyException - 我的异常网
当前位置:我的异常网» .NET Framework » 十分钟轻便让你认识Entity Framework 7

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

www.MyException.Cn  网友分享于:2015-02-06  浏览:0次
十分钟轻松让你认识Entity Framework 7

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

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

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

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

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

b.支持关系型数据库。

c.跨平台。

 

1.开始安装EF7的包。

image

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

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

为了更方便的使用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的使用初级教程。大笑

5楼散客游
没看懂
Re: dennylo
@散客游,引用没看懂,+1
4楼tollinxu
这些功能在之前的版本 中都有, 两点就是跨平台?
3楼Dr.Edison
最近在看nodejs 看到preject.json 我笑了~~
Re: Nic Pei
@Dr.Edison,引用最近在看nodejs 看到preject.json 我笑了~~,从vs2015的模板结构看,以后很可能是.net和nodejs混合编译了。typesript=gt;js
2楼节操
话说。net core什么时候能运行在linux下面
Re: Nic Pei
@节操,引用话说。net core什么时候能运行在linux下面,目测应该得7、8月份了。
1楼幻天芒
表示一直用不惯EF,哎~
Re: Nic Pei
@幻天芒,引用表示一直用不惯EF,哎~,EF只是一个针对.NET 5的ORM实现方式,应该接着会有很多针对.NET 5的ORM出来。

文章评论

什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
代码女神横空出世
代码女神横空出世
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
为什么程序员都是夜猫子
为什么程序员都是夜猫子
旅行,写作,编程
旅行,写作,编程
程序员的鄙视链
程序员的鄙视链
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
编程语言是女人
编程语言是女人
程序员必看的十大电影
程序员必看的十大电影
如何成为一名黑客
如何成为一名黑客
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
程序员应该关注的一些事儿
程序员应该关注的一些事儿
漫画:程序员的工作
漫画:程序员的工作
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
每天工作4小时的程序员
每天工作4小时的程序员
程序员和编码员之间的区别
程序员和编码员之间的区别
我是如何打败拖延症的
我是如何打败拖延症的
那些争议最大的编程观点
那些争议最大的编程观点
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
鲜为人知的编程真相
鲜为人知的编程真相
 程序员的样子
程序员的样子
总结2014中国互联网十大段子
总结2014中国互联网十大段子
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
我的丈夫是个程序员
我的丈夫是个程序员
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
10个调试和排错的小建议
10个调试和排错的小建议
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
程序员都该阅读的书
程序员都该阅读的书
老程序员的下场
老程序员的下场
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有