• 【译】ASP.NET MVC 5 教程


    在上一节中,我们创建了MovieDBContext 类来连接数据库、处理Movie 对象和数据库记录的映射。你可能会问我们到底使用了哪个数据库?其实,在我们没有指定数据库的时候,Entity Framework 默认使用LocalDB 。在本节中我们将介绍如何在Web.config 文件中添加一个数据库连接。

    SQL Server Express LocalDB

    LocalDB 是SQL Server Express 数据库引擎的轻量级版本,LocalDB 运行在SQL Server Express 的特殊执行模式下,允许你使用数据库文件(例如 .mdf 文件)。通常情况下,LocalDB 数据库文件放在解决方案的 App_Data  文件夹下。

    SQL Server Express 是不推荐用在 web 应用程序产品中的,其实准确的说,LocalDB 也不能用在 web 应用程序产品中,因为它设计的时候就没考虑和 IIS 一起使用。然而,一个LocalDB数据库可以很简单的迁移到SQL Server 或 SQL Azure。

    在Visual Studio 2013(或 2012)中,Visual Studio 默认安装了LocalDB。

    默认情况下,Entity Framework 会查找和对象上下文类同名的数据库连接(在这个项目中是 MovieDBContext)。

    打开应用程序根目录的 Web.config 文件(不是在Views 目录中的Web.config)。文件位置如下图:

    打开文件后,找到 connectionString 节点:

    在connectionString节点下面添加如下连接字符串:

    <add name="MovieDBContext" 
       connectionString="Data Source=(LocalDB)v11.0;AttachDbFilename=|DataDirectory|Movies.mdf;Integrated Security=True" 
       providerName="System.Data.SqlClient" 
    /> 

    下面是添加了MovieDBContext连接字符串后完整的connectionString 节点代码:

    <connectionStrings>
      <add name="DefaultConnection" connectionString="Data Source=(LocalDb)v11.0;AttachDbFilename=|DataDirectory|aspnet-MvcMovie-20130629121520.mdf;Initial Catalog=aspnet-MvcMovie-20130629121520;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" />
    </connectionStrings>

    这两个连接字符串很相似,第一个的名字是DefaultConnection,是membership用来控制谁访问应用程序的数据库。我们添加的连接字符串指定了LocalDB 数据库名字是 Movie.mdf ,放在App_Data 文件夹。在我们的教程中没有用到membership数据库,关于membership、authentication 和 security,我们会在以后的教程中进行介绍。

    数据库连接字符串的名字必须和 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 类,用来显示电影数据和让用户来创建新的电影列表。

  • 相关阅读:
    Xcode官方下载地址
    IOS9 Swift
    IOS常用框架
    JS 阻止事件冒泡
    ASP.NET MVC验证DateTime的问题
    如何将图片嵌入到Html中
    Linq使用中的ToList注意事项
    LINQ to Entity里面不能使用DateTime
    SQL Procedure Operations
    Windows Service Operations
  • 原文地址:https://www.cnblogs.com/DoduNet/p/3226399.html
Copyright © 2020-2023  润新知