MVC 中的代码优先方法:您需要知道的一切

已发表: 2021-02-25

目录

什么是代码优先方法?

Entity Framework 4.1 引入了MVC中的代码优先方法。 代码优先方法主要用于领域驱动设计。 在这种方法中,应用程序域正在考虑。 这些类是根据域实体而不是数据库创建的。 在那之后,研究使其与数据库设计相匹配。 下图说明了 MVC 中的代码优先方法。

MVC 中的代码优先方法

从图中可以清楚地看出,实体框架根据域类创建或更新数据库。 因此,用户需要先编写代码,然后实体框架将使用代码创建数据库。 这就是为什么它被称为代码优先方法。

代码优先工作流程

MVC 中的代码优先方法遵循以下步骤的工作流程:

  • 创建领域驱动的类
  • 配置创建的域类
  • 更新或创建域类的数据库。

域类的配置使用 Fluent API 进行,数据库更新使用自动迁移完成。

何时在 MVC 中使用代码优先方法?

  • 何时创建数据库。
  • 当应用程序要从头开始时。
  • 操作时,如创建和删除视图、表和存储过程。
  • 当一个数据库有很多表、存储过程和想法时。

之前,在 MVC 中介绍了代码优先的方法,通常使用 DB First 方法。 DB 优先方法有其优势,在以下情况下可以优先于代码优先方法:

  • 当数据库已经在项目中创建时。
  • 当项目不涉及表或视图中的许多更新时。
  • 当项目较小时。

如何在 MVC 中使用代码优先方法?

在使用代码优先方法之前,需要完成一些步骤,如下所示:

1.创建一个空白数据库

  • 打开 SQL 服务器并连接数据库服务器。
  • 在对象资源管理器中,右键单击“数据库”选项以创建新数据库。

2.创建MVC项目

  • 导航到文件 > 新项目 > Visual C# > ASP .Net Web 应用程序
  • 输入解决方案和项目的名称,然后单击确定。
  • 单击 MVC 并将身份验证选项更改为个人用户帐户。

3.创建类库项目

  • 通过右键单击解决方案资源管理器添加一个新项目。
  • 导航到 Visual C# > Windows > 类库并将项目名称指定为 ABC.DAL

4. 将Entity Framework添加到上一步创建的DAL项目中。

  • 导航到 DAL 项目 > 管理 NuGet 包 > abc.DAL。
  • 浏览并安装实体框架。

5. 代码优先方法实现

考虑一个办公室有许多员工在多个不同部门工作的例子。 如果项目涉及为此办公室创建应用程序,则可以查看和更新​​任何员工的信息。 使用代码优先方法,这些类将首先为办公领域设计。 考虑两种类型的员工和部门,其中每个员工都链接到一个部门。

创建 Employee 类,如下所示:

公共类员工{

公共 int EmpId { 获取; 放; }

公共字符串 EmpName { get; 放; }

公共浮动年龄{得到; 放; }

公共日期时间 DateOfJoining { get; 放; }

公共浮动 ExpInYears { get; 放; }

公共部门部门{get; 放; }

}

创建部门类如下:

公共课部{

公共 int DeptId { 获取; 放; }

公共字符串 DeptName { get; 放; }

公共 ICollection<Employee> 员工 { 获取; 放; }

}

代码首先使用 DbContext 类来派生上下文类。 上下文类公开了 DBSet,它是实体类的集合。 上下文类的创建代码如下:

命名空间 EF6Console {

公共类 OfficeContext: DbContext {

公共 OfficeContext(): base()

{

}

公共 DbSet<Employee> Employee { 获取; 放; }

公共 DbSet<部门> 部门 { 获取; 放; }

}

}

现在创建上下文类,使用它添加员工,如下所示:

命名空间 EF6Console {

类 ExProgram {

静态 void main(string[], args) {

使用(var obj = newOfficeContext())

{

var emp = new Employee() { EmployeeName = “Peter” };

Obj.Employee.Add(emp);

Obj.SaveChanges();

}

}

}

}

另请阅读:异常处理面试问题

6. 将 DAL 项目引用到 UI 项目

  • 通过右键单击 UI 项目的引用来添加引用。

7. 启用迁移

  • 导航到工具 > 包管理器 > 管理解决方案的 NuGet 包并运行以下命令:

启用迁移

添加迁移初始创建

更新数据库

8.添加控制器

  • 导航到 Controller > Add > New Controller 并使用 Entity Framework 选择带有视图的 MVC 5 Controller。
  • 选择模型类、上下文类和布局页面。

从世界顶级大学在线学习软件课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

结论

使用本文中分享的步骤,您可以使用MVC 中的代码优先方法。 使用代码优先方法,您可以创建类和实体,然后更新数据库。

如果您有兴趣了解有关全栈开发的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发执行 PG 计划,该计划专为在职专业人士设计,提供 500 多个小时的严格培训、9 个以上的项目,以及任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。

什么是 MVC 框架?

MVC 代表模型-视图-控制器。 它是软件工程中使用的一种设计模式。 它允许关注点分离,这使得代码更容易测试、更改和维护。 模型代表数据和业务逻辑。 通常,这是在用户界面之外的单独层中完成的。 视图是用户看到并与之交互的应用程序的一部分。 这是我们在设计用户界面时实际设计的层。 控制器决定哪个控制器最适合处理每个请求。 当用户与用户界面交互时,它会向控制器发送请求。 控制器处理请求,然后将响应发送回用户界面。

MVC 中的代码优先方法是什么?

在 ASP.NET MVC 框架中,代码优先方法是一种开发模型,您首先编写创建数据访问层的代码,然后编写创建控制器和视图的代码。 在代码优先的方法中,您创建一个模型,它是一个表示应用程序中数据的类。 然后创建一个数据访问层,它是一组代码,用于读取数据并将数据写入数据存储。 请注意,代码优先方法不必使用数据库。 您可以使用代码优先模型来创建任何类型的数据。

如何成为 MVC 开发人员?

如果你想成为一名 MVC 开发人员,那么你必须了解一点 C# 或 Java。 它是一种用于编写计算机程序的计算机语言。 学习一点 HTML 或 HTML5 是个好主意。 HTML 是用于编写网页的语言。 你应该学习一点 CSS。 CSS 是用于设置网页样式的语言。 您应该知道的最后一种语言是 JavaScript。 JavaScript 是一种用于向网页添加交互性的编程语言。 MVC 是代表模型视图控制器的首字母缩写词。 模型是信息存储在计算机中的方式。 视图是信息在屏幕上的显示方式。 控制器是游戏中处理输入和输出信息的部分。