文章出處

您創建的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。經過了本節連接數據庫知識的學習,大家不妨把這些知識運用到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版

 

相關閱讀:

微軟 Build 2017 開發者大會:Azure 與 AI 的快速發展

是什么讓C#成為最值得學習的編程語言

從Visual Studio看微軟20年技術變遷

C#開發人員應該知道的13件事情

Visual Studio 2017正式版發布全紀錄

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()