欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-01-30 09:55:23
您创建的moviedbcontext类负责处理连接到,并将movie对象映射到数据库记录的任务中。你可能会问一个问题,如何指定它将连接到数据库? 实际上,确实没有指定要使用的数据库,entity f...

您创建的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文件。

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

找到 :

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

web.config文件中的内添加下面的连接字符串。


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

    aspnet-mvcmovie-20130603030321.mdf;initial catalog=aspnet-mvcmovie-20130603030321;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 movies { get; set; }
    }
}

实际上, 您并不需要新增moviedbcontext连接字符串。 如果没有指定一个连接字符串,entity framework将会在用户目录中创建一个localdb数据库的dbcontext类的(如本例中mvcmovie.models.moviedbcontext)。您也数据库命名为任何你喜欢的东西,只要它具有.mdf的后缀。例如,我们可以命名数据库myfilms.mdf

接下来,您将创建一个新的moviescontroller类,您可以用它来??展示电影数据,并允许用户创建新的影片列表。

上一篇: 幸福

下一篇: 大喜的日子