【译】ASP.NET MVC 5 教程 - 5:使用 SQL 服务器 LocalDB 创建连接字符串

原文:【译】ASP.NET MVC 5 教程 - 5:使用 SQL 服务器 LocalDB 创建连接字符串

在上一节中,我们创建了MovieDBContext 类来连接数据库、处理Movie 对象和数据库记录的映射。你可能会问我们到底使用了哪个数据库?其实,在我们没有指定数据库的时候,Entity Framework 默认使用LocalDB 。在本节中我们将介绍如何在Web.config 文件中添加一个数据库连接。

SQL Server Express LocalDB

LocalDB 是SQL Server Express 数据库引擎的轻量级版本,LocalDB 运行在SQL Server Express 的特殊执行模式下,允许你使用数据库文件(例如 .mdf 文件)。通常情况下,LocalDB 数据库文件放在解决方案的 App_Data  文件夹下。

SQL Server Express 是不推荐用在 web 应用程序产品中的,其实准确的说,LocalDB 也不能用在 web 应用程序产品中,因为它设计的时候就没考虑和 IIS 一起使用。然而,一个LocalDB数据库可以很简单的迁移到SQL Server 或 SQL Azure。

在Visual Studio 2013(或 2012)中,Visual Studio 默认安装了LocalDB。

默认情况下,Entity Framework 会查找和对象上下文类同名的数据库连接(在这个项目中是 MovieDBContext)。

打开应用程序根目录的 Web.config 文件(不是在Views 目录中的Web.config)。文件位置如下图:

打开文件后,找到 connectionString 节点:

 

在connectionString节点下面添加如下连接字符串:

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

下面是添加了MovieDBContext连接字符串后完整的connectionString 节点代码:

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

这两个连接字符串很相似,第一个的名字是DefaultConnection,是membership用来控制谁访问应用程序的数据库。我们添加的连接字符串指定了LocalDB 数据库名字是 Movie.mdf ,放在App_Data 文件夹。在我们的教程中没有用到membership数据库,关于membership、authentication 和 security,我们会在以后的教程中进行介绍。

数据库连接字符串的名字必须和 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 连接字符串,如果你没有明确指定连接字符串,Entity Framework 会在用户目录创建一个 LocalDB 数据库,名字就是 DbContext 类的全名(在本示例中文件名是 MvcMovie.Models.MovieDBContext)。你可以为数据库指定任何你喜欢的名字,只要它有MDF 后缀就行,例如,我们可以用 MyFilms.mdf 来命名。

接下来,我们要创建一个新的 MoviesController 类,用来显示电影数据和让用户来创建新的电影列表。

时间: 2024-08-31 16:10:45

【译】ASP.NET MVC 5 教程 - 5:使用 SQL 服务器 LocalDB 创建连接字符串的相关文章

【译】ASP.NET MVC 5 教程 - 10:添加验证

原文:[译]ASP.NET MVC 5 教程 - 10:添加验证 在本节中,我们将为Movie模型添加验证逻辑,并确认验证规则在用户试图使用程序创建和编辑电影时有效. DRY 原则 ASP.NET MVC 的一个核心原则是DRY(Don't Repeat Yourself - 不做重复的事情).ASP.NET MVC 鼓励你一次性的指定功能或行为,然后应用程序的其它地方通过映射得到它,这样一来就减少了大量的代码,从而减少了出错误的可能性,并且更易于维护. ASP.NET  MVC  和 Enti

【译】ASP.NET MVC 5 教程 - 11:Details 和 Delete 方法详解

原文:[译]ASP.NET MVC 5 教程 - 11:Details 和 Delete 方法详解 在教程的这一部分,我们将研究一下自动生成的 Details 和Delete 方法. Details 方法 打开Movie控制器,找到Details方法. // // GET: /Movies/Details/5 public ActionResult Details(Int32 id) { Movie movie = db.Movies.Find(id); if (movie == null) {

【译】ASP.NET MVC 5 教程 - 6:通过控制器访问模型的数据

原文:[译]ASP.NET MVC 5 教程 - 6:通过控制器访问模型的数据 在本节中,你将新建一个MoviesController 类,并编写获取电影数据的代码,使用视图模板将数据展示在浏览器中. 在进行下一步之前,你需要先编译应用程序,否则在添加控制器的时候会出错. 在解决方法资源管理器的Controllers文件夹右键,选择"添加">"支架": 在"添加支架"对话框,选择 MVC 5 Controller with read/wri

【译】ASP.NET MVC 5 教程 - 3:添加视图

原文:[译]ASP.NET MVC 5 教程 - 3:添加视图 在本节内容中,我们将修改HelloWorldController类,使用视图模板来干净利索的封装生成HTML响应客户端的过程. 您将创建一个使用Razor 视图引擎的视图模板文件..cshtml扩展名的文件都是基于 razor 视图模板文件,Razor 视图引擎将编写视图模板所需的代码降至最低. 目前的 Index 方法返回一条消息,是在控制器类中直接写入的字符串.更改 Index 方法使其返回一个View对象,如以下代码所示: 1

【译】ASP.NET MVC 5 教程 - 8:搜索查询

原文:[译]ASP.NET MVC 5 教程 - 8:搜索查询 添加一个搜索的方法和搜索的视图 在本节中,我们为 Index 方法添加查询功能,使我们能够根据电影的题材或名称进行查找. 修改 Index 表单 首先,我们需要更新 MoviesController 的 Index 方法,代码如下: public ActionResult Index(string searchString) { var movies = from m in db.Movies select m; if (!Stri

【译】ASP.NET MVC 5 教程 - 1:入门

原文:[译]ASP.NET MVC 5 教程 - 1:入门 本教程将教你使用Visual Studio 2013 预览版构建 ASP.NET MVC 5 Web 应用程序 的基础知识.本主题还附带了一个采用 C# 源代码的 Visual Web Developer 项目.下载C# 版本. 入门 Visual Studio 是一个集成的开发环境.就像您使用 Microsoft Word 写文档,您将使用 IDE 创建的应用程序.Visual Studio 的顶部有一个工具栏,其中显示了你可以使用的

【译】ASP.NET MVC 5 教程 - 9:添加新字段

原文:[译]ASP.NET MVC 5 教程 - 9:添加新字段 在本节中,我们将使用Entity Framework Code First 数据迁移功能将模型类的改变应用到数据库中. 默认情况下,当我们使用Entity Framework Code First 自动创建一个数据库,像我们之前教程中讲的那样,Code First 添加一个table帮我们跟踪数据库结构是否与模型类同步.如果不同步,Entity Framework 将抛出一个错误,这样更方便我们在开发的时候发现问题,否则只能在运行

【译】ASP.NET MVC 5 教程 - 2:添加控制器

原文:[译]ASP.NET MVC 5 教程 - 2:添加控制器 MVC 表示 模型-视图-控制器.MVC 是一种用于开发应用程序的模式,具备良好架构,可测试和易于维护.基于 MVC 应用程序中包含: Models: 表示应用程序的数据,并使用验证逻辑强制执行业务规则的数据的类. Views: 您的应用程序用来动态生成 HTML 响应的模板文件. Controllers: 处理传入的请求的浏览器,类检索模型的数据,然后指定将响应返回到浏览器中的视图模板. 在这个系列教程中涵盖了所有这些概念和教你

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

原文:[译]ASP.NET MVC 5 教程 - 4:添加模型 在本节中,我们将添加一些管理电影数据库的类,这些类在ASP.NET MVC 应用程序中扮演"Model"的角色. 我们将使用.NET Framework平台上熟知的Entity Framework 数据访问技术来定义和使用这些模型.Entity Framework(简称EF)提供了一种叫做Code First 的开发范例.Code First 允许你写一些简单的类来创建模型(这些通常被称为POCO类,即"plai