EF Code-First技能进阶(1)

各位学员大家好,相信大家做过.NET后端开发的对于Entity Framework肯定不会陌生了,Entity Framework(以下简称EF)是微软的.Net的一款ORM(对象关系映射)框架。在没有EF之前,开发人员都是通过Ado.Net来与数据库交互并完成数据的操作,其实现过程非常复杂且代码量相当大,开发人员就把很多精力放在了管理数据访问的Ado.Net代码上,但是在EF框架中,把这部分代码进行了封装,开发人员可以通过实体类来完成对数据库的操作。能大幅度提高开发人员的开发效率。

本次给大家分享的是EF中Code-First的使用,顾名思义,Code-First是指代码优先,那么在EF中是怎么使用的呢?下面就由Carter老师带领大家学习吧!

温馨提示:本教程提供完整录播视频,请在文章结尾处查看

1. EF Code-First原理

Code First是什么?

在Entity Framework 4.1引入了代码优先的方法。代码优先主要用于领域驱动设计。在Code-First方法中,将重点放在应用程序的域上,并开始为域实体创建类,而不是首先设计数据库,然后创建与数据库设计匹配的类。

如上图所示,EF API将根据域类和配置创建数据库。这意味着需要首先用c#开始编码。然后EF会从代码创建数据库。

Code First的工作流程

代码优先方法中的开发工作流是:创建或修改域类-->使用Fluent-API或数据注释属性配置这些域类-->使用自动迁移或基于代码的迁移创建或更新数据库模式。

2. EF Code-First环境搭建

在项目中使用Entity Framework Code First时,需要EF的环境支持。在项目中搭建EF的环境最简单的方法是使用NuGet包的方式安装Entity Framework。安装的方式如下:

创建一个控制台应用程序,取名为EFCodeFirst.Console

选择控制台项目,右键点击呼出菜单,点击管理NuGet程序包

打开NuGet程序包管理窗口后,选择浏览选项卡,在输入框中输入entityframework,选择相应的程序包,点击右侧的安装按钮进行安装。

请选择作者为Microsoft、版本号为6.0以上的EF安装文件

点击安装后,会弹出询问是否接受许可证的弹窗,点击接受按钮即可完成Entity Framework在项目中的安装。

安装完成后,将会在下方输出区域显示安装信息。

打开项目引用,可以看到EntityFramwork的引用已添加至项目中了。

3. 第一个EF Code-First示例

到这里,我们已经在项目中安装了Entity Framework,接下来我们利用Entity Framework创建实体类,并生成数据库。

创建Student实体类

创建Class实体类

创建数据库上下文类

配置连接字符串

通过上面的配置,可以看到数据库中已经自动生成了一个名为SchoolDB的数据库,并创建了Students和Classes两个表,每个表都有适当的数据类型和长度的列。列名和数据类型自动匹配各自实体类的属性。除此之外,还自动设置了StudentId和ClassId的主键,并将Class_ClassId设置为外键

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181119G0NXHQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券