文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-ef-6-get-started-model.html

上一节:ASP.NET MVC 5 入门教程 (4) View和ViewBag

下一节:ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用

源码下载:点我下载

一、创建Model

MVC中的Model是用来给View提供显示数据的对象。

这里我们首先创建一个Model对象。

在解决方案资源管理器中右键点击Models文件夹,选择添加->类。添加一个名为Employee.cs的Model类。Models文件夹是默认存放所有Model的地方。

在Employee.cs文件中添加如下代码:

namespace SlarkInc.Models
{public class Employee{public int Id { get; set; }public string Name { get; set; }public int Age { get; set; }}
}

这样我们就建立好了一个Model数据模型包含Id、Name、Age三个属性。

二、生成数据库

为了持久化数据,我们这里用Entity Framework。

Entity Framework (EF) 简单点说就是.NET开发中的一种访问数据库的方法,其最大的特点就是能通过面向对象的方法访问数据而不用写sql语句。

我们用EF的Code First方法创建数据库表。

Code First方法简单点说就是第一步用C#创建一个实体类,第二步由这个类生成对应的数据库。

第一步上面已经完成。第二步生成数据库表之前要创建数据库上下文。

将Employee.cs文件中的代码写成如下形式:

using System.Data.Entity;
namespace SlarkInc.Models
{public class Employee{public int Id { get; set; }public string Name { get; set; }public int Age { get; set; } } public class EmployeeDBContext : DbContext {  public DbSet<Employee> Employees { get; set; } } }

图中黄色标记部分就是为EF持久化添加的代码。

EmployeeDBContext类继承自EF提供的DbContext。EmployeeDBContext代表Employee的数据库上下文,负责处理数据的增删改查操作。

public DbSet<Employee> Employees { get; set; }将C#的Employee类映射到数据库的Employee表。

这里我们使用的数据库是 SQL Server Express LocalDB。它是 SQL Server 的轻量级免费版。好处是VS自带,不用额外安装。这样我给大家上传的代码可以直接创建数据库,不用额外的安装和配置。便于学习。

下面我们来配置数据库链接,来连接到这个数据库。从解决方案资源管理器根目录打开web.config。这是一个XML配置文件。找到其中的<connectionStrings>...</connectionStrings>元素并将其内容写成如下代码。

<connectionStrings><add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-SlarkInc-20141130103639.mdf;Initial Catalog=aspnet-SlarkInc-20141130103639;Integrated Security=True"providerName="System.Data.SqlClient" /><add name="EmployeeDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Employees.mdf;Integrated Security=True"  providerName="System.Data.SqlClient" /> </connectionStrings>

上面代码中黄色标记的就是新添加的数据库链接。有几点值得关注:

  • name="EmployeeDBContext"要与创建的DBContext类名字相同。这样DBContext才能使用这个数据库链接。

  • AttachDbFilename=|DataDirectory|\Employees.mdf;指出了数据库文件的储存位置和文件名。在一般MVC5项目中它应该是在App_Data文件夹下。文件名是Employees.mdf。

下面我们来创建操作Model的Controller和View。

在解决方案资源管理器中右键点击Controllers文件夹选择添加->控制器,在弹出的选择支架的窗口中选择包含视图的MVC5控制器(使用 Entity Framework)。点击确定。

在弹出的添加控制器对话框中做如下图配置。

  • 控制器名称:EmployeesController
  • 模型类:Employee (SlarkInc.Models)
  • 数据上下文:EmployeeDBContext (SlarkInc.Models)
  • 下面三个勾选框都要打勾
  • 点击添加

项目中会自动添加一个Model类对应的Controller和View对Model进行增删改查的操作。

在解决方案资源管理器中右击Views文件夹下Employees文件夹下的Index.cshtml选择在浏览器中查看。得到如下结果。

可以看到一个Model对应的空列表。

下面我们来查看数据库。如下图所示在解决方案资源管理器下面的小图标中点击显示所有文件,如图所示。然后在App_Data文件夹下就会有Employees.mdf文件。这就是EF创建的数据库文件。

双击Employees.mdf文件,出现服务器资源管理器窗口。如下图右侧所示。选择数据连接->EmployeeDBContext->表->Employees,双击。之后,主页面就会显示dbo.Emplyees数据库表设计窗口。上部分显示表结构,下部分显示创建表所用的T-SQL语句。

至此,Model创建及EF用CodeFirst方法生成数据库表的操作全部完成。

您的留言和推荐是我写作的动力,谢谢。

上一节:ASP.NET MVC 5 入门教程 (4) View和ViewBag

下一节:ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用

转载于:https://www.cnblogs.com/slark/p/mvc5-ef6-get-started-model.html

ASP.NET MVC5 + EF6 入门教程 (5) Model和Entity Framework相关推荐

  1. ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用

    ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用 原文:ASP.NET MVC5 + EF6 入门教程 (6) View中的Razor使用 文章来源: Slark.N ...

  2. MVC5+EF6 入门完整教程七

    原文:MVC5+EF6 入门完整教程七 本篇我们针对表格显示添加一些新功能. 前面我们已经讲解过表格显示数据了,现在我们添加三个常用功能: 对显示结果进行排序.过滤.分页. 文章提纲 理论基础/前置准 ...

  3. MVC5+EF6 入门完整教程十

    原文:MVC5+EF6 入门完整教程十 本篇是第一阶段的完结篇. 学完这篇后,你应该可以利用MVC进行完整项目的开发了. 本篇主要讲述多表关联数据的更新,以及如何使用原生SQL. 文章提纲 多表关联数 ...

  4. MVC5+EF6 入门完整教程四

    MVC5+EF6 入门完整教程四 原文:MVC5+EF6 入门完整教程四 上篇文章主要讲了如何配置EF, 我们回顾下主要过程: 创建Data Model à 创建Database Context à创 ...

  5. MVC5+EF6 入门完整教程11--细说MVC中仓储模式的应用

    MVC5+EF6 入门完整教程11--细说MVC中仓储模式的应用 原文:MVC5+EF6 入门完整教程11--细说MVC中仓储模式的应用 摘要: 第一阶段1~10篇已经覆盖了MVC开发必要的基本知识. ...

  6. MVC5+EF6 入门完整教程 总目录

    本系列文章会从一个主干开始,逐渐深入,初步规划30篇.初级10篇,中级10篇,综合项目实战10篇 初级10篇 MVC5+EF6 入门完整教程10:多对多关联表更新&使用原生SQL@201505 ...

  7. ASP.NET MVC5 + EF6 通过model层创建controller时需要重新生成解决方案。

    在用ASP.NET MVC5 + EF6 开发网页的时候,首先创建了model层的.cs文件,然后通过添加带有EF的控制器时报错,需要重新生成解决方案,才能通过models层直接生成controlle ...

  8. ASP.NET MVC 5 入门教程 (2) 控制器Controller

    原文:ASP.NET MVC 5 入门教程 (2) 控制器Controller 文章来源: Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc-5-get ...

  9. ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(持续更新中...)

    开发工具:VS2015(2012以上)+SQL2008R2以上数据库  您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB  升级后界面效果如下: 日程管理   http:// ...

最新文章

  1. pointnet 结果可视化_PointNet论文复现及代码详解
  2. Jenkins+Jmeter持续集成笔记(四:定时任务和邮件通知)
  3. wxWidgets:wxTimerEvent类用法
  4. java data jpa_Spring Data JPA(一)简介
  5. sybase函数学习(八)
  6. 模式识别中的特征提取及其内在意义
  7. tracker服务器php,FastDFS-5.05 tracker服务器安装nginx+php
  8. AJAX设置光标离开自动提交,Ajax自动提交和刷新页面
  9. GCN--如何用图卷积网络在图上进行深度学习
  10. python: Requests库的一些高级特性
  11. Niushop开源微信商城+小程序商城源码
  12. Java关键字及其作用详解
  13. CTF密码学之Base64,Base32,Base16
  14. 李永乐老师讲一个量子计算机,量子计算机到底是什么东西啊?我原来以为就是普通计算机的这个方向。...
  15. 高效沟通的5个原则,解决90%的沟通问题
  16. UI设计和平面设计的区别
  17. DNSPod十问Matt Overman:二维码真的代替域名了吗?
  18. 冲量在线荣获2021中关村国际前沿科技创新大赛TOP10
  19. 单片机C语言制作ESR表,超级ESR表 - 〓仪表工具专区〓 - 矿石收音机论坛 - Powered by Discuz!...
  20. Ubuntu 小企鹅输入法fcitx安装及设置

热门文章

  1. rabbitmq——镜像队列
  2. 字符串系列函数(不断跟新)
  3. Android应用中Back键的监听及处理
  4. Android工具HierarchyViewer 代码导读(3) -- 后台代码
  5. 让 UV4 支持STC 单片机
  6. 新的公司:Dendrite
  7. python下载url_三种Python下载url并保存文件的代码详解
  8. tf.reshape()
  9. Java IO - Reader
  10. 服务器设备性能说明,OMC服务器硬件性能和配置说明.doc