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的包。

按照之前两篇文章介绍的,使用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的使用初级教程。

十分钟轻松让你认识Entity Framework 7相关推荐

  1. mac新手教程:十分钟轻松熟悉操作Mac系统

    习惯了Windows系统,刚刚触摸到Mac电脑是不是感觉很不习惯呢?mac os是 苹果 公司为苹果品牌计算机打造的操作系统.如果您是初次接触Mac系统,那么不用紧张,建议您从这里开始学起.macw小 ...

  2. 十分钟轻松学会python-10分钟轻松学会python turtle绘图

    python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics),turtle库是python的内部库,使用导入即可 import turtle 先说明一下turtl ...

  3. 十分钟轻松搞懂CSS的五大定位方式!(建议收藏)

    文章目录 一.CSS之position定位方式 1.static 2.relative 3.absolute(脱离正常文档流) 4.fixed(脱离正常文档流) 5.sticky 二.z-index ...

  4. Python十分钟轻松入门

    简介 Python是一种动态解释型的编程语言.Python可以在Windows.UNIX.MAC等多种操作系统上使用,也可以在Java..NET开发平台上使用. 特点 1 Python使用C语言开发, ...

  5. iOS-通俗易懂的微信支付接入和爬坑指南,十分钟轻松搞完

     现在基本所有的App都会接入支付宝支付以及微信支付,也有很多第三方提供给你 SDK帮你接入,但是这种涉及到支付的东西还是自己服务器搞来的好一些,其实搞懂了 逻辑非常的简单,下面直接给大家说说下基本流 ...

  6. MAC新手教程:十分钟轻松熟悉Mac系统

    习惯了Windows系统的用户,在刚接触Mac电脑初期经常会感到使用有点不习惯. MAC系统是苹果机专用系统,正常情况下在普通PC上无法安装的操作系统.苹果公司不但生产MAC的大部分硬件,连MAC所用 ...

  7. 十分钟轻松掌握索引的数据结构

    索引的数据结构 ⭐️写在前面这里是允谦的学习之路

  8. 十分钟轻松入门 nw.js 实现桌面应用程序

    最近别的组有项目里面使用了 nw.js 去实现了桌面应用程序,出于好奇,我查找了一些资料,准备了解一下入个门. 什么是 nw.js https://github.com/nwjs/nw.js node ...

  9. 十分钟教科书式教条,轻松搞定系统分析师的论文

    十分钟教科书式教条,轻松搞定系统分析师的论文 前言 因为我发现很多人考试都是死在论文上的.平时学习时,对论文也是老虎吃天-无从下口. 系之前,统架构设计师部分的论文博客,大多以一篇范文为例.而这次,我 ...

最新文章

  1. SQL Server:使用 PIVOT 行转列和 UNPIVOT 列转行
  2. [补档][中山市选2011]杀人游戏
  3. 如何和老师沟通好博士的申请呢?
  4. Java中“==”和equals()的区别
  5. NYIST 1006 偷西瓜
  6. 多线程的创建方式---继承Thread和实现Runnable
  7. 编写一个汇编语言程序,完成以下要求。从BUF单元处定义有10个带符号字数据:-1,3,24,94,62,72,55,0,-48,99,试找出他们中的最大值和平均值,并以此分别存放至该数据区的后两个单元
  8. POJ2115 C Looooops(线性同余方程)
  9. jquery实现复选框checkbox全选,取消全选
  10. hdu 2141 Can you find it(二分)
  11. 机器学习LDA——实验报告
  12. 4参数逻辑曲线公式及其含义
  13. PHP开发环境搭建:PHP集成环境XAMPP 的安装与配置
  14. java源文件基本布局结构_请调试课本 “第117页”5.4.1节 菜单资源 的代码, 并将程序运行的屏幕截图 和 核心源代码的截图(布局文件,菜单资源文件,Java文件,程序结构图等)提交。...
  15. 网络安全——sql注入漏洞拓扑图
  16. 【杂记】Windows首页挟持病毒查杀过程记录
  17. jquery学习总结
  18. javac提示信息变成英文
  19. c语言中出现nan错误,c语言中浮点运算的inf和nan错误
  20. 系统分析与控制_多智能体协同控制研究中各定位系统分析

热门文章

  1. 不懂技术系列--如何快速调试html5页面/手机页面
  2. Spring 命名空间
  3. dede使用方法----如何自定义字段
  4. 车辆管理系统之继续自己的任务(四)
  5. oracle ORACLE_SID使用上的意义
  6. linux卸载mysql,apache,php
  7. Play 2.0 用户指南 - 模版引擎 -- 针对Scala开发者
  8. linux中文乱码的解决
  9. BusinessFrameWork
  10. IT人士必备五大绿色健康生活用品