1. 创建连接串连接本地SQLServer数据库

上节讲到MovieDBContext类,这个类的作用是连接数据库并将Movie对象迁移到数据库记录中。不过你会问一个问题:如何知道这个对象将连接哪个数据库呢?事实是你并没有指定所用的数据库,EF框架将默认使用本地数据库(LoaclDB).在这一章节中我们将给这个应用程序的web.config文件中添加一个连接字符串。

2. SQL Server自带的Express版的LocalDB

LocalDB是在需求启动并运行在用户模式下的一个轻量级版本的SQL Server Express数据库引擎。LocalDB运行在能够使你用.mdf为后缀的数据库文件工作的SQL Server Express的特别的执行模式。通常情况下,LocalDB的数据库文件在Web项目的App_Data文件夹下。

SQL Server Express在真实的Web应用程序开发过程中并不推荐使用。LocalDB的流行并不是因为其在Web应用程序开发的使用,而是因为它的工作设计不依赖于IIS。此外,LocalDB数据库也很容易的迁移到SQL Server或者SQL Azure上。

在VS2013(和VS2012)中,LocalDB是默认安装到Visual Studio中的。

在默认的情况下,EF框架将查找一个与context类(此例是MovieDBContext)同名的连接字符串。想了解更多的信息,请查看ASP.NET应用程序的SQL Server连接串

打开这个应用程序末尾的Web.config文件(注意:不是Views文件下的Web.config),如下所示:

找到这个<connectionStrings>元素:

Web.config文件中添加下面的连接字符串到<connectionStrings>元素中.

 <add name="MovieDBContext"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"
/>

下面的例子中显示了部分Web.config文件中新添加的连接字符串:

 <connectionStrings>
2 <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-MvcMovie-20130603030321.mdf;Initial Catalog=aspnet-MvcMovie-20130603030321;Integrated Security=True" providerName="System.Data.SqlClient" />
3 <add name="MovieDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient"
/>

这两个连接字符串非常相似。第一个连接串叫做DefaultConnection被用于成员数据库,用来控制合法用户进入该应用程序。新添加的连接串在App_Data文件夹下指定了一个命叫Movie.mdf的LocalDB数据库。在这本教程中我们并没有使用成员数据库,想了解更多关心成员,授权和安全性的信息,请查询Deploy a Secure ASP.NET MVC app with Membership, OAuth, and SQL Database to a  Windows Azure Web Site

注意:连接串的名字必须和DbContext类的名字相匹配。

 using System;
using System.Data.Entity; namespace MvcMovie.Models
{
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; }
} public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}
}

实际上你没有添加MovieDBContext的连接串。如果你没有指定一个连接串,EF框架将在用户的直接目录用DbContex类的全名(此例是MvcMovie.Models.MOvieDBContext)创建一个LocalDB数据库。当然你可以命名任何你喜欢的数据库名,前提是数据库名字的后缀是.MDF.例如:我们可以命名数据库为MyFilms.mdf.

接下来,你可以编译这个MoviesController类了,用来显示新的 movie数据和让你创建新的movie列表了。

六、 从Controller中访问模板数据(ASP.NET MVC5 系列)

五、 创建连接串连接本地数据库(ASP.NET MVC5 系列)的更多相关文章

  1. 四、 添加模型Model(ASP.NET MVC5 系列)

    在这一章节中我们将添加一些classes类来管理数据库中的movies.这些classes类就是ASP.NET MVC应用程序中的"model". 我们将用.NET框架中的数据访问 ...

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

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

  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系列——在模型中添加

    目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [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系列——第一个项目 概述 在这一部分我们添加一个新的控制器HelloWorldController类, ...

  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系列——添加数据

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

  8. 三、 添加视图View(ASP.NET MVC5 系列)

    在这一章节我们可以修改HelloWorldController类,通过使用视图模板来封装处理产生给客户端的HTML响应. 我们将使用Razor View engine来创建视图文件.基于Razor的视 ...

  9. 二、 添加控制器Controller(ASP.NET MVC5 系列)

    MVC是Model-View-Controller的简写.MVC是一种开发良好架构,可测试,易维护应用程序的设计模式.据于MVC的应用程序应该包含: Models: 是呈现应用程序数据和使用验证逻辑给 ...

随机推荐

  1. Java基础学习(五)—Collection

    一.Collection概述 1.数组和集合的区别 (1)长度区别      数组长度是固定的,集合长度是可变的. (2)存储内容区别      数组只能存放同一种类型的元素(基本类型/引用类型). ...

  2. wampserver安装错误 应用程序无法正常启动0xc000007b解决方法

    在重装系统之后发现以前安装的wampserver启动会出现错误提示"应用程序无法正常启动0xc000007b解决方法",重新安装也是一样的错误.上网找了相关信息后发现,并不是只有本 ...

  3. a标签传值乱码问题怎么解?

  4. MySQL操作符

    简要介绍MySQL操作符 常用: 算术运算符.比较操作符.逻辑操作符.位运算符-- 一.算术运算符 +:加 -:减 *:乘 /:除,返回商 %,mod():除,返回余数 mysql> %,mod ...

  5. HubbleDotNet 最新绿色版,服务端免安装,基于eaglet 最后V1.2.8.9版本开发,bug修正,支持一键生成同步表

    HubbleDotNet 是一个基于.net framework 的开源免费的全文搜索数据库组件.开源协议是 Apache 2.0.HubbleDotNet提供了基于SQL的全文检索接口,使用者只需会 ...

  6. 详解 Node + Redux + MongoDB 实现 Todolist

    前言 为什么要使用 Redux? 组件化的开发思想解放了繁琐低效的 DOM 操作,以 React 来说,一切皆为状态,通过状态可以控制视图的变化,然后随着应用项目的规模的不断扩大和应用功能的不断丰富, ...

  7. 在jquery中each循环中,要用return false代替break,return true代替continue。

    在jquery中each循环中,要用return false代替break,return true代替continue. $.each(data, function (n, value) { if(v ...

  8. HTML5 WebGL 实现逼真的云朵效果

    使用 HTML5 WebGL 实现超逼真的云朵效果.WebGL 是一项在网页浏览器呈现3D画面的技术,有别于过去需要安装浏览器插件,通过 WebGL 的技术,只需要编写网页代码即可实现3D图像的展示. ...

  9. highcharts的多级下钻以及图形形态转换

    <script src="https://img.hcharts.cn/jquery/jquery-1.8.3.min.js"></script> < ...

  10. 【翻译】FreeMarker——入门

    原文传送门 1. Template + data-model = output data-model是一个树状模型,通常是一个java对象. 2.data-model 入门 hashes(散列):目录 ...