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 是代表模型视图控制器的首字母缩写词。 模型是信息存储在计算机中的方式。 视图是信息在屏幕上的显示方式。 控制器是游戏中处理输入和输出信息的部分。