栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > asp

一个简单MVC5 + EF6示例分享

asp 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一个简单MVC5 + EF6示例分享

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

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一起默认安装的。
  • 通常来说SQL Server Express并不会被用于Web应用程序的生产环境,同样地,LocalDB由于其并不是针对IIS而设计的也不被推荐使用于生产环境。

一、创建基于MVCWeb Application

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

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

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

ViewsShared_Layout.cshtml做如下更改(请看黄色高亮部分)






@ViewBag.Title - Contact
@Styles.Render("~/Content/css")
@scripts.Render("~/bundles/modernizr")






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







@RenderBody()

© @DateTime.Now.Year - Contact

@scripts.Render("~/bundles/jquery") @scripts.Render("~/bundles/bootstrap") @RenderSection("scripts", required: false) ViewsHomeIndex.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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/56740.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号