专栏首页葡萄城控件技术团队ASP.NET MVC 5 - 创建连接字符串(Connection String)并使用SQL Server LocalDB

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文件。

找到 <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的,被用于控制可以访问应用程序的成员鉴权数据库。您已添加的连接字符串 (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。经过了本节连接数据库知识的学习,大家不妨把这些知识运用到MVC的实际开发中。当然,也不让忘记借助一些开发工具。使用 ComponentOne Studio ASP.NET MVC 这款轻量级控件,可以助力你的MVC开发,在开发效率大大提高的同时,工作量也会大大减少。

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

-----------------------------------------------------------------------------------------

《ASP.NET MVC 5 入门指南》12篇文章汇总如下:

1. ASP.NET MVC 5 - 开始MVC 5之旅

2. ASP.NET MVC 5 - 控制器

3. ASP.NET MVC 5 - 视图

4. ASP.NET MVC 5 - 将数据从控制器传递给视图

5. ASP.NET MVC 5 - 添加一个模型

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

7. ASP.NET MVC 5 - 从控制器访问数据模型

8. ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

9. ASP.NET MVC 5 - 给电影表和模型添加新字段

10. ASP.NET MVC 5 - 给数据模型添加校验器

11. ASP.NET MVC 5 - 查询Details和Delete方法

12. ASP.NET MVC 5 - 使用Wijmo MVC 5模板1分钟创建应用

希望这些文章对感兴趣的朋友有所帮助,另附上PDF版的汇总文档:

ASP.NET MVC 5 入门指南》PDF版

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ASP.NET 5系列教程 (一):领读新特性

    近期微软发布了ASP.NET 5.0,本次发布的新特性需求源于大量用户的反馈和需求,例如灵活的跨平台运行时和自主部署能力使ASP.NET应用不再受限于IIS、C...

    葡萄城控件
  • 自学MVC看这里——全网最全ASP.NET MVC 教程汇总

    MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC。小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想要学习ASP.NET MVC...

    葡萄城控件
  • 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC

    ? 系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据...

    葡萄城控件
  • 用visual studio2019 创建ASP.NET web project

    在项目模板中找到C#语言Web下的ASP.NET Web 应用程序(.NET Framework)(注:不使用ASP.NET Core),选择下一步

    Centy Zhao
  • ASP.Net MVC 5 in Xamarin Studio 5.2

    Xamarin Studio 是一个Mono的跨平台 IDE(Integrated Development Environment),支持Wiindow和Mac...

    张善友
  • .NET 十五岁,谈谈我眼中的.NET

    2002年2月13日,第一个版本随着visual studio.net的发布,今天已经走过15年, .net团队写了一篇文章,里面有一个视频,Anders He...

    张善友
  • 西安活动 | 2019年1月13日「拥抱开源, 又见.NET」

    随着.NET Core的发布和开源,.NET又重新回到人们的视野。.NET Core的下个3.0即将release,加入非常多的新功能,越来越拥抱变化,DevO...

    ThoughtWorks
  • 2018-07-04 .NET及相关开发资讯速递

    2.Injecting Services to ASP.NET Core Controller Actions

    Rector
  • python包中__init__.py文件的作用

    当我们使用类似 from package import * 的导入语句的时候就是在使用模糊导入了,这时包的编写者就可以在__init__.py文件中定义 __a...

    渔父歌
  • .NET Core多平台开发体验[1]: Windows

    微软在千禧年推出 .NET战略,并在两年后推出第一个版本的.NET Framework和IDE(Visual Studio.NET 2002,后来改名为Visu...

    蒋金楠

扫码关注云+社区

领取腾讯云代金券