开发者社区> 杰克.陈> 正文

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

简介: 原文:【译】ASP.NET MVC 5 教程 - 5:使用 SQL 服务器 LocalDB 创建连接字符串 在上一节中,我们创建了MovieDBContext 类来连接数据库、处理Movie 对象和数据库记录的映射。
+关注继续查看
原文:【译】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 类,用来显示电影数据和让用户来创建新的电影列表。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云大学生服务器免费申请2023新版教程
2023阿里云学生服务器免费领取,先完成学生认证即可免费领取一台云服务器ECS,配置为2核2G、1M带宽、40G系统盘,在云服务器ECS实例过期之前,完成实验与认证任务,还可以免费续费6个月,阿里云百科来详细说下2023阿里云学生服务器活动、学生机配置、免费时长及学生服务器领取条件:
37 0
2023阿里云学生服务器免费领取申请教程
2023阿里云学生服务器免费领取,先完成学生认证即可免费领取一台云服务器ECS,配置为2核2G、1M带宽、40G系统盘,在云服务器ECS实例过期之前,完成实验与认证任务,还可以免费续费6个月,阿里云百科来详细说下2023阿里云学生服务器活动、学生机配置、免费时长及学生服务器领取条件:
231 0
按照教程按照mysql出现服务器名无效
按照教程按照mysql出现服务器名无效
23 0
开通阿里云国际版账号注册教程-无需paypal信用卡即可充值购买服务器
如需注册阿里云国际,可以上123clouds.com,只需要一个邮箱就可以了,简便快捷。
31 0
开通阿里云国际版账号注册教程无需paypal信用卡即可充值购买服务器
开通阿里云国际版账号注册教程 - 无需 paypal 信用卡即可充值购买服务器
86 0
Linux服务器快速安装java jdk教程
Linux服务器快速安装java jdk教程
15 0
阿里云学生服务器(Windows)的配置以及安装Tomcat连接服务器的教程
阿里云学生服务器(Windows)的配置以及安装Tomcat连接服务器的教程
113 0
Centos7配置DNS服务器低配教程
Centos7配置DNS服务器低配教程
121 0
​服务器宝塔面板安装ssl证书教程
SSL 证书将为您的网站、移动 App、Web API 等应用提供身份验证和数据加密传输等整套 HTTPS 解决方案。由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。本文介绍如何为您的服务器安装SSL证书,为你的网站增添一份保护
69 0
+关注
杰克.陈
一个安静的程序猿~
文章
问答
文章排行榜
最热
最新
相关电子书
更多
用SQL做数据分析
立即下载
阿里云流计算 Flink SQL 核心功能解密
立即下载
Comparison of Spark SQL with Hive
立即下载