创建的连接字符串和使用 SQL 服务器 LocalDB
您创建的MovieDBContext
类处理连接到数据库和Movie
对象映射到数据库记录的任务。不过,你可能会问,一个问题是如何指定它将连接到的数据库。你其实不必指定要使用的数据库,Entity Framework将默认使用LocalDB。在本节中,我们会显式添加应用程序的Web.config文件中的连接字符串。
SQL 服务器快递 LocalDB
LocalDB是轻量级的版本的 SQL Server 表示数据库引擎,按需启动和运行在用户模式下。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)中,LocalDB 默认随 Visual Studio 一起安装。
默认情况下,实体框架查找命名对象上下文类 (此项目MovieDBContext
) 相同的连接字符串。有关更多信息,请参见ASP.NET Web 应用程序的 SQL 服务器连接字符串.
打开应用程序根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
,用于控制可以访问该应用程序的成员资格数据库。您已经添加的连接字符串指定一个名为Movie.mdf位于App_Data文件夹中的 LocalDB 数据库。我们不会使用成员资格数据库在本教程中,对成员资格、 身份验证和安全的详细信息,请参阅我的教程创建一个 ASP.NET MVC 应用程序身份验证和 SQL 数据库,并将部署到 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
) 的完全限定名创建一个 LocalDB 数据库。你可以命名数据库任何你喜欢的东西,只要它有这样做。中密度纤维板后缀。例如,我们可以命名数据库MyFilms.mdf.
接下来,您将构建一个新的MoviesController
类,您可以使用显示电影数据并允许用户创建新的电影列表。
-----------------------------------------------------------------------------------------
《ASP.NET MVC 5 入门指南》12篇文章汇总如下:
5. ASP.NET MVC 5 - 创建连接字符串(Connection String)并使用SQL Server LocalDB
7. ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)
8. ASP.NET MVC 5 - 将数据从控制器传递给视图
10. ASP.NET MVC 5 - 给电影表和模型添加新字段
11. ASP.NET MVC 5 - 给数据模型添加校验器
12. ASP.NET MVC 5 - 查询Details和Delete方法
希望这些文章对感兴趣的朋友有所帮助