【MVC5】5.创建一个连接字符串和SQL Server LocalDB工作

创建一个连接字符串和SQL Server LocalDB工作


您创建的类的moviedbcontext处理与数据库的连接对象映射的电影数据库记录的任务。然而,你可能会问的一个问题是如何指定它将连接到哪个数据库。其实你不需要指定要使用的数据库,实体框架会默认使用LocalDB。在本节中我们将明确地增加在应用程序的Web.config文件中的连接字符串。


SQL Server Express LocalDB

LocalDB是一个轻量级版本的SQL Server Express数据库引擎开始对需求和运行在用户模式。LocalDB运行在一个特殊的执行模式的SQL Server Express,使你能够与数据库mdf文件工作。通常,LocalDB数据库文件存放在Web项目的app_data文件夹。

SQL Server Express建议不要在生产中使用的Web应用程序。LocalDB尤其不能用于Web应用程序的生产是因为它的设计工作与IIS。然而,一个LocalDB数据库可以很容易地迁移到SQL Server或SQL Azure。

在Visual Studio 2013(和2012),通过使用Visual Studio LocalDB默认安装。

默认情况下,实体框架是一个连接字符串命名为对象上下文类相同(moviedbcontext这个项目)。更多信息请参阅SQL Server连接字符串ASP.NET Web应用程序。


打开应用程序根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>
    <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" />
    <add name="MovieDBContext"    connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient"
/>


这两个连接字符串是非常相似的。第一个连接字符串命名为defaultconnection和用于会员数据库来控制谁可以访问应用程序。你添加连接字符串指定数据库命名LocalDB movie.mdf位于app_data文件夹。我们将在本教程中没有会员数据库,对会员的更多信息,身份验证和安全,看看我的教程创建一个SQL数据库认证和ASP.NET的MVC的应用程序部署到Azure应用程序服务。

连接字符串的名称必须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连接字符串。如果你不指定一个连接字符串,实体框架会随着DbContext类的完全限定名称创建用户目录数据库(在这种情况下 MvcMovie.Models.MovieDBContext)。你可以命名数据库的任何你喜欢的东西,只要它有MDF的后缀。例如,我们可以 MyFilms.mdf名称数据库。


接下来,你将建立一个新的MoviesController类,你可以用它来显示电影数据并允许用户创建新的电影列表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值