您的位置: 主页 > 人工智能内参 > 搜客盒子:Code First模式在MVC项目中的应用

搜客盒子:Code First模式在MVC项目中的应用

时间: 2019-03-13阅读:

摘要Entit y Framework是.NET开发中一种由ADO.NET驱动的ORM框架,此框架支持三种编程方式Database First、Model First和Code First,本文以项目管理系统中类别管理为例,简单描述了Code First模式在MVC项目中的应用方法。

【关键词】Entity Framework CodeFirst MVC实体框架 代码优先

1 Entity Framework概述

ADO.NET Entity Framework是NET开发中一种由ADO.NET驱动的ORM框架,使用Entity Framework(以下简称EF)开发人员可以不必考虑数据的基础数据表和列,在处理数据时能够以更高的抽象级别进行工作,并能够以相对传统开发编写更少的代码来创建和维护应用程序。

2 CodeFirst模式在MVC项目中的应用

2.1 新建一个MVC项目

打开VS2015, 新建项目名称为ProjectManage的MVC项目,项目创建完成后,在解决方案中会自动生成Models[模型]、Views[视图]和Controllers[控制器]三个文件夹。

2.2 创建项目类别模型

在Models文件夹中添加一个Category类,这个类描述的是项目类别,包含了两个属性:类别编码、类别名称。

public class Category

{

publicintld{ get; set;)

public string CateName{ get; set;)

2.3 启用CodeFirst数据迁移

在数据迁移之前,需要在Web.config中预先定义DB连接,在connectionString节点中,增加名称为ProjectDbContext的连接字符串。

2.4 定义数据库上下文DBContext类

在Models文件夹中, 新建ProjectDBContext类, 该 类 继 承 至DBContext。

public class ProjectDbContext: DbContext

publicProjectDbContext() :base(”ProjectDbContext”){)

2.5 安装EF框架

CodeFirst模式是基于EF实现的,所以在使用之前,需要安装EF。首先打开NuGet程序包管理器,在搜索框里面搜索EntityFramework,找到后把EF安装到解决方案中。

2.6 实现数据迁移

CodeFirst模式可以根据模型,自动生成数据库和数据表,生成操作需要执行以下命令Enable-Migrations、Add-Migration、Update-Database。具体步骤如下:

(1)打开“程序包管理控制台”,执行数据迁移命令,在命令行中输入“Enable-Migrations”,该命令的作用是允许数据迁移,执行该命令后,会在项目解决方案中新增加一个Migrations文件夹,该文件夹里面放的是所有的迁移记录,该指令在项目开发过程中只需执行一次,后续数据库表更新无需重复执行。

(2)在命令行中输入“Add-MigrationInitialDB”,执行该命令后,会在Migrations文件夹中新增一条迁移记录。

(3)最后在命令行中输入“Update-Database”,执行完毕后,就会在数据库中生成了名称为ProjectDb的数据库,在数据库里面会有一张Categories数据表。

2.7 使用基架生成Controller和Views

当数据库生成完毕之后,可以根据基架直接生成Controller和Views,很方便的就实现了对数据表Categories的列表、新增、删除和修改功能。

(1)在Controllers文件夹中新建控制器CategoryController,选择包含视图MVC5控制器(使用EF),选择完毕后然后点击添加,打开如图1所示界面。

(2)根据图1所示,输入控制器名称CategoryController、选择模型类(Category)、上下文(ProjectDbContext)、选中生成视图然后点击添加按钮,完成控制器的添加。

(3)控制器添加完成后,会在Views文件夹内同步生成项目类别的视图页,此时可以选择Index在浏览器中查看效果。

至此,一个简单的基于CodeFirst模式的MVC項目已经编写完毕,在整个过程中,其实书写的代码并没有多少,但是完成了对一张数据表的维护操作,让复杂的编程变得更简单快速。但是,要完全掌握这种模式下的编程开发,还有很多东西需要学习,例如表与表之前的关系如何在模型中体现、数据校验如何完成等等,更多细节方面还需要大家查询相关资料深入学习,方能有所收获。

参考文献

[1]刘育旺.基于.NET MVC框架的Web设计[J].电子技术与软件工程,2017(01):48- 49

上一篇:毛细现象的例子:高职院校计算机机房问题及解决方法
下一篇:没有了

相关阅读