本文所使用的软件及环境:

Visual Studio Ultimate 2013;

MVC5 + EF6 + .NET Framework 4.5 + LocalDB;Windows 7 x64 Professional

说明:

1.在EF (Entity Framework,以下简称EF6)框架下,操作数据的方式有三种:Database First, Model First, 以及 Code First,本文基于Code First创建。

2.本文是基于MVC5创建:

3.LocalDB

LocalDB是SQL Server Express数据库引擎的轻量级版本,其非常易于安装、配置、以命令行启动并运行在user model.

LocalDB以一种SQL Server Express特殊的执行模型运行,从而使得你能够以.mdf文件的方式来操作数据库。如果你想使得数据库具有随项目迁移的能力,你可以把LocalDB数据库文件放在web项目的App_Data文件夹下。

在SQL Server Express中虽然你能够通过使用用户示例功能来达到操作.mdf文件的目的,但是这种做法是不推荐的,相反,LocalDB是被推荐的方式。在Visual Studio2012及随后的版本中,LocalDB随Visual Studio一起默认安装的。

通常来说SQLServer Express并不会被用于Web应用程序的生产环境,同样地,LocalDB由于其并不是针对IIS而设计的也不被推荐使用于生产环境。

一、创建基于MVCWeb Application

在正式开始之前,先看一下VS 2013的启动界面,是不是有点冷酷的感觉

好了,言归正传,首先按如下截图创建

创建完成后,我们对网站的风格做些微调,以便能契合应用主题

Views\Shared\_Layout.cshtml做如下更改(请看黄色高亮部分)

@ViewBag.Title - Contact

@Styles.Render("~/Content/css")

@Scripts.Render("~/bundles/modernizr")

@Html.ActionLink("Contact", "Index", "Home", null, new { @class = "navbar-brand" })

  • @Html.ActionLink("Home", "Index", "Home")
  • @Html.ActionLink("About", "About", "Home")
  • @Html.ActionLink("Contacts", "Index", "Contact")
  • @Html.ActionLink("Groups", "Index", "Group")

@RenderBody()


© @DateTime.Now.Year - Contact

@Scripts.Render("~/bundles/jquery")

@Scripts.Render("~/bundles/bootstrap")

@RenderSection("scripts", required: false)

Views\Home\Index.cshtml 替换成如下内容

@{

ViewBag.Title = "Home Page";

}

Contact

Welcome to Contact

Contact is a sample application that

demonstrates how to use Entity Framework 6 in an

ASP.NET MVC 5 web application.

Build it from scratch

You can build the application by following the steps in the tutorial series on the following site.

See the tutorial »

运行看一下效果吧

安装EF6

创建数据模型

在Models文件夹下,分别创建Contact.cs、Enrollment.cs、Group.cs三个类

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

namespace PCT.Contact.Models

{

public class Contact

{

public int ID { get; set; }

public string Name { get; set; }

public DateTime EnrollmentDate { get; set; }

public virtual ICollection Enrollments { get; set; }

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

namespace PCT.Contact.Models

{

public class Enrollment

{

public int EnrollmentID { get; set; }

public int ContactID { get; set; }

public int GroupID { get; set; }

public virtual Contact Contact { get; set; }

public virtual Group Group { get; set; }

}

}

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

namespace PCT.Contact.Models

{

public enum GroupName

{

Friend, Family, Colleague, Schoolmate, Stranger

}

public class Group

{

public int GroupID { get; set; }

public GroupName? GroupName { get; set; }

public virtual ICollection Enrollments { get; set; }

}

}

PS:发现VS 2013有一个自动提示reference,是不是很方便啊

创建Database Context

在PCT.Contact项目下新建文件夹DAL(Data Access Layer),继而继续新建CommunicationContext.cs

悲剧啊,由于类Contact和项目名称Contact重复,不得不写全称啊,以后注意。

继续在DAL目录下创建CommunicationInitializer.cs

为了通知EF使用你创建的initializer class,在项目的web.config中添加entityFramework节点

在项目web.config中添加connectionstrings(在appSettings之上)

运行结果

查看LocalDB

希望本文可以对大家学习有所帮助。

java mvc ef_一个简单MVC5 + EF6示例分享相关推荐

  1. java 框架 例子_如何设计Java框架? –一个简单的例子

    通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习. 你可能对框架如何工作感到好奇? 这里将通过一个简单的框架示例来说明框架的思想. 框架目标 首先,为什么我 ...

  2. 如何设计 Java 框架?– 一个简单的例子

    您可能对框架的工作原理感到好奇?这里将做一个简单的框架示例来演示框架的思想. 框架的目标 首先,为什么我们需要一个框架而不是一个普通的库?框架的目标是定义一个流程,让开发人员根据个人需求实现某些功能. ...

  3. JAVA同时输入用户名和密码_用java模拟设计一个简单的“用户注册”程序。当用户输入用户名和密码时,单击“注...

    用java模拟设计一个简单的"用户注册"程序.当用户输入用户名和密码时,单击"注 2020 - 9 - 26 TAG : 所有功能均已实现,如有不满意的地方我再修改imp ...

  4. JAVA编写的一个简单的Socket实现的HTTP响应服务器

    JAVA编写的一个简单的Socket实现的HTTP响应服务器,看后就很容易理解Web服务器的原理了. package test.io;import java.net.*; import java.io ...

  5. 用java设计实现一个简单的动作冒险类游戏

    用java设计实现一个简单的动作冒险类游戏 1.背景 这是java老师布置的本周作业,具体题目截图如下 2.分析 在UML图已经给出的前提下,此作业很容易.自己在此基础上,加了个简单的界面设计和玩家设 ...

  6. java设计游戏_用java设计实现一个简单的动作冒险类游戏

    用java设计实现一个简单的动作冒险类游戏 1.背景 这是java老师布置的本周作业,具体题目截图如下 2.分析 在UML图已经给出的前提下,此作业很容易.自己在此基础上,加了个简单的界面设计和玩家设 ...

  7. java Swing 做一个简单的输入文本框

    java Swing做一个简单的文本输入框, 新建一个SwingDemo类: // //java swing做一个简单的文本框 //Created by lee_1310 on 2019.03.29 ...

  8. java动作游戏教程_用java设计实现一个简单的动作冒险类游戏

    用java设计实现一个简单的动作冒险类游戏 1.背景 这是java老师布置的本周作业,具体题目截图如下 2.分析 在UML图已经给出的前提下,此作业很容易.自己在此基础上,加了个简单的界面设计和玩家设 ...

  9. 在Java中搭建一个简单的MVC框架

    搭建一个简单的Java MVC框架 一 . 前言 二. 代码实现 1. 思路分析 2. 代码实现 2.1 Controller注解 2.2 RequestMapping注解 2.3 UserContr ...

最新文章

  1. python wget_python-如何获取wget下载的文件的文件名
  2. 微软MVP社区活动(西宁站)
  3. 疫情之下,这些公司开始给员工发菜了!
  4. 对象输出流 ObjectOutputStream java
  5. HDU 6134 2017 多校训练:Battlestation Operational(莫比乌斯反演+积性函数)
  6. spring学习笔记一(基于xml)
  7. 诺顿误杀真相之“为什么诺顿会误杀中文windows”
  8. Python 实现最简单的元胞自动机
  9. 【废了-准备删除02】信息收集——基于WAMP的drupal7.x管理系统
  10. php框架laravel手册,Laravel 5 框架入门(一)
  11. 微信企业付款至银行卡 详细Demo 独立封装
  12. Geometric tampering estimation by means of a sift-based forensic analysis论文阅读
  13. 如何快速统计任意一条线段的长度?
  14. 几款重复文件查找工具对比
  15. dns 监控系统 设计 dns安全威胁的可视化。
  16. 后台管理系统——02首页布局
  17. 【PTA-乙级】1019 - 数字黑洞(4种解法)(C/C++)
  18. 使用U盘安装win7系统遇到“缺少所需的 CD/DVD 驱动器设备驱动程序”解决办法
  19. 谁对云服务器安全负责:客户还是供应商 ?
  20. kubernetes增加删除master节点操作

热门文章

  1. Linux设备模型组件-类设备-设备类及subsystem
  2. 中序遍历的模板(以及变形更新中。。。)
  3. 逻辑斯谛回归(Logistic回归)最详解
  4. koa cookie使用
  5. Visual Studio 2008 单元测试
  6. springMVC 前台向后台传数组
  7. Web消息主体风格(Message Body Style)
  8. Centos7 单台服务器搭建Elasticsearch6.0.1集群
  9. LightGBM参数的贝叶斯搜索(有boost_from_average参数设置)
  10. Crontab的格式