ASP.NET MVC 5 - 创建连接字符串(Connection St

系统 1696 0

ASP.NET MVC 5 - 创建连接字符串(Connection String)并使用SQL Server LocalDB

您创建的MovieDBContext类负责处理连接到数据库,并将Movie对象映射到数据库记录的任务中。你可能会问一个问题,如何指定它将连接到数据库? 实际上,确实没有指定要使用的数据库,Entity Framework将预设值使用的 LocalDB 。 在本节中,我们将显式地在Web.config文件中,添加应用程序的连接字符串(connection string)。

 

SQL Server Express LocalDB

 

LocalDB 的是一个SQL Server Express轻量级版本的数据库引擎。 它在用户模式下启动、执行。 LocalDB 的运行在一个特殊的SQL Server Express的执行模式,所以允许您使用MDF文件数据库。通常情况下, LocalDB 的数据库文件都保存在web项目的App_Data文件夹下面。

 

注意: 在生产环境的Web应用程序中,我们不推荐您使用SQL Server Express。 尤其,  LocalDB 不应该被用于Web应用程序的生产环境,因为它设计之初不要求使用 IIS 。 然而, LocalDB 的数据库能够很容易地迁移​​到SQL Server或SQL Azure中。

 

备注: 在 Visual Studio 2013 (Visual Studio 2012),  LocalDB  默认会被安装.

 

默认的,Entity Framework的看起来命名为为对象上下文类(如本项目MovieDBContext)的相同的一个连接字符串。有关详细信息,请参见 SQL Server Connection Strings for ASP.NET Web Applications

 

打开应用程序根目录的 Web.config 文件。(不是 View 文件夹下的 Web.config 文件。)打开红色高亮标记的 Web.config 文件。

 

clip_image002

 

找到 <connectionStrings>  :

 

clip_image004

 

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的,被用于控制可以访问应用程序的成员鉴权数据库。您已添加的连接字符串 (connection string) 显示位于App_Data文件夹中的 一个Movie.mdf文件,数据库命名为 Movie.mdf 。 在本教程中,我们将不使用会员数据库有关会员,认证和安全性的更多信息,请参阅教程:  Deploy a Secure ASP.NET MVC app with Membership, OAuth, and SQL Database to a  Windows Azure Web Site

 

连接字符串(connection string)的名称必须匹配 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类,您可以用它来​​展示电影数据,并允许用户创建新的影片列表。

 

 

 

 

 

分类:  Web技术

 
 

ASP.NET MVC 5 - 创建连接字符串(Connection String)并使用SQL Server LocalDB


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论