目录

概述

添加模型

总结

系列文章

[Asp.net MVC]Asp.net MVC5系列——第一个项目

[Asp.net MVC]Asp.net MVC5系列——添加视图

概述

在本节中我们将追加一些类来管理数据库中的学生信息。这些类将成为我们的MVC应用程序中的“模型”部分。

在vs2013中EF的版本为(Entity Framework)EF6,我们将使用EF6来进行对学生信息的维护,顺便也学习一下EF6的增删改查。

添加模型

在解决方案资源管理器中,鼠标右击Models文件夹,点击“添加”菜单下的“新建项”,如图所示。

我这有个学生信息的测试数据库,所以选择了从数据库生成,为了以后方便使用,也懒得去新建数据库了。

选择新建连接

选择“是,在连接字符串中包括敏感数据”,如果选择上面的则连接字符串中密码是以一串“*”替换的,你还得修改,所以怎么简单怎么来了。

选择ef版本,这里选择ef6

选择数据库对象,这里可能要用到student,score,course表,所以将选择三张数据表。

选择数据表后,单击完成,后会弹出一个安全警告的对话框,直接确定忽视它。

之后会弹出三张表的关系图

到目前为止我们创建了三个模型类Student,Score,Course类

具体代码如下:

 //------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------ namespace Wolfy.FirstMVCProject.Models
{
using System;
using System.Collections.Generic; public partial class Student
{
public Student()
{
this.Score = new HashSet<Score>();
} public int stuId { get; set; }
public string stuName { get; set; }
public string stuSex { get; set; }
public System.DateTime stuBirthdate { get; set; }
public System.DateTime stuStudydate { get; set; }
public string stuAddress { get; set; }
public string stuEmail { get; set; }
public string stuPhone { get; set; }
public Nullable<bool> stuIsDel { get; set; }
public Nullable<System.DateTime> stuInputtime { get; set; }
public int classId { get; set; } public virtual Course Course { get; set; }
public virtual ICollection<Score> Score { get; set; }
}
}
 //------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------ namespace Wolfy.FirstMVCProject.Models
{
using System;
using System.Collections.Generic; public partial class Course
{
public Course()
{
this.Score = new HashSet<Score>();
this.Student = new HashSet<Student>();
} public int classId { get; set; }
public string className { get; set; }
public string classDescription { get; set; } public virtual ICollection<Score> Score { get; set; }
public virtual ICollection<Student> Student { get; set; }
}
}
 //------------------------------------------------------------------------------
// <auto-generated>
// 此代码已从模板生成。
//
// 手动更改此文件可能导致应用程序出现意外的行为。
// 如果重新生成代码,将覆盖对此文件的手动更改。
// </auto-generated>
//------------------------------------------------------------------------------ namespace Wolfy.FirstMVCProject.Models
{
using System;
using System.Collections.Generic; public partial class Score
{
public int testId { get; set; }
public int stuId { get; set; }
public int classId { get; set; }
public int testBase { get; set; }
public int testBeyond { get; set; }
public int testPro { get; set; }
public string testName { get; set; }
public System.DateTime testDate { get; set; } public virtual Course Course { get; set; }
public virtual Student Student { get; set; }
}
}

在下篇文章中,我们将要创建一个新的SchoolController类,用来显示数据库中的数据,并且允许用户创建学生列表,可以添加学生信息。

总结

在网上看了很多类似的文章都是使用code-first的方式,如果再写一个code-first类似的文章,老花样去玩,没意思,玩玩新的东西还是有必要的。所以既然vs2013中出现了新的玩法,何不尝试一下?

本文关于添加模型的内容较少,大量篇幅说了ef,因为添加模型不知道该说什么?添加一个类,该如何说啊?发愁!

如果你的眼睛比较锋利,也许会发现,从添加ado.net实体模型生成的文件有*.tt的文件,你懂得!这东西也可以研究研究。

参考文章:

http://www.asp.net/mvc/tutorials/mvc-5/introduction/adding-a-model

[Asp.net MVC]Asp.net MVC5系列——添加模型的更多相关文章

  1. ASP.NET MVC 5 学习教程:添加模型

    原文 ASP.NET MVC 5 学习教程:添加模型 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 通过控 ...

  2. 【译】ASP.NET MVC 5 教程 - 4:添加模型

    原文:[译]ASP.NET MVC 5 教程 - 4:添加模型 在本节中,我们将添加一些管理电影数据库的类,这些类在ASP.NET MVC 应用程序中扮演“Model”的角色. 我们将使用.NET F ...

  3. [Asp.net MVC]Asp.net MVC5系列——在模型中添加验证规则

    目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5 ...

  4. [Asp.net MVC]Asp.net MVC5系列——添加数据

    目录 概述 显示添加数据时所用表单 处理HTTP-POST 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5系列 ...

  5. Asp.net MVC]Asp.net MVC5系列——在模型中添加

    目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5 ...

  6. [Asp.net MVC]Asp.net MVC5系列——从控制器访问模型中的数据

    目录 概述 从控制器访问模型中的数据 强类型模型与@model关键字 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net M ...

  7. [Asp.net MVC]Asp.net MVC5系列——布局视图

    目录 系列文章 概述 布局视图 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5系列——添加视图 [Asp.net M ...

  8. Asp.net MVC]Asp.net MVC5系列——Routing特性

    目录 概述 路由特性 使用路由 可选参数和参数的默认值 路由前缀 默认路由 路由约束 自定义路由约束 路由名 区域(Area) 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列— ...

  9. Asp.net MVC]Asp.net MVC5系列——实现编辑、删除与明细信息视图

    目录 概述 实现信息的明细视图 实现信息的编辑视图 实现信息的删除视图 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net ...

随机推荐

  1. python chinese code

    http://blog.csdn.net/inte_sleeper/article/details/6676351 编码的历史 1.     ASCII ASCII(American Standard ...

  2. gcc编译与gdb调试简要步骤

    http://blog.chinaunix.net/uid-24103300-id-108248.html 一.Linux程序gcc编译步骤: Gcc编译过程主要的4个阶段: l 预处理阶段,完成宏定 ...

  3. JAVA通过md5方法进行加密

    import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /* * MD5 算法 * */ ...

  4. 深入剖析z-index属性

    一.z-index七阶层叠顺序表 1.层叠顺序的大小比较: background/border < 负z-index < block块状水平盒子 < float浮动盒子 < i ...

  5. easyUI Form表单的密码验证是否相同

    一.js文件中的代码: $(function(){ $.extend($.fn.validatebox.defaults.rules, { equals: {//定义一个比较相等与否的函数 valid ...

  6. inpyt 按钮变透明 边框

    变透明: .btn{width: 80px;height: 36px;margin-left: 22px;border: none;cursor: pointer;background: none;}

  7. 学海无涯的整理Ing..........

    1.文章:Understanding JavaScript Function Invocation and “this” http://yehudakatz.com/2011/08/11/unders ...

  8. netstat--查看服务器[有效]连接数--统计端口并发数--access.log分析

    简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Member ...

  9. Orchard源码分析(7):ASP.NET MVC相关

    概述 Orchard归根结底是一个ASP.NET MVC(以后都简称为MVC)应用,但在前面的分析中,与MVC相关内容的涉及得很少.MVC提供了非常多的扩展点,本文主要关注Orchard所做的扩展.主 ...

  10. Java并发编程核心方法与框架-CompletionService的使用

    接口CompletionService的功能是以异步的方式一边生产新的任务,一边处理已完成任务的结果,这样可以将执行任务与处理任务分离.使用submit()执行任务,使用take取得已完成的任务,并按 ...