ASP.NET MVC 5 - 創(chuàng)建連接字符串(Connection String)并使用SQL Server LocalDB
您創(chuàng)建的MovieDBContext類負(fù)責(zé)處理連接到數(shù)據(jù)庫(kù),并將Movie對(duì)象映射到數(shù)據(jù)庫(kù)記錄的任務(wù)中。你可能會(huì)問(wèn)一個(gè)問(wèn)題,如何指定它將連接到數(shù)據(jù)庫(kù)? 實(shí)際上,確實(shí)沒(méi)有指定要使用的數(shù)據(jù)庫(kù),Entity Framework將預(yù)設(shè)值使用的 LocalDB 。 在本節(jié)中,我們將顯式地在Web.config文件中,添加應(yīng)用程序的連接字符串(connection string)。
?
SQL Server Express LocalDB
?
LocalDB 的是一個(gè)SQL Server Express輕量級(jí)版本的數(shù)據(jù)庫(kù)引擎。 它在用戶模式下啟動(dòng)、執(zhí)行。 LocalDB 的運(yùn)行在一個(gè)特殊的SQL Server Express的執(zhí)行模式,所以允許您使用MDF文件數(shù)據(jù)庫(kù)。通常情況下, LocalDB 的數(shù)據(jù)庫(kù)文件都保存在web項(xiàng)目的App_Data文件夾下面。
?
注意: 在生產(chǎn)環(huán)境的Web應(yīng)用程序中,我們不推薦您使用SQL Server Express。 尤其,? LocalDB 不應(yīng)該被用于Web應(yīng)用程序的生產(chǎn)環(huán)境,因?yàn)樗O(shè)計(jì)之初不要求使用 IIS 。 然而, LocalDB 的數(shù)據(jù)庫(kù)能夠很容易地遷移??到SQL Server或SQL Azure中。
?
備注: 在 Visual Studio 2013 (Visual Studio 2012),? LocalDB ?默認(rèn)會(huì)被安裝.
?
默認(rèn)的,Entity Framework的看起來(lái)命名為為對(duì)象上下文類(如本項(xiàng)目MovieDBContext)的相同的一個(gè)連接字符串。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn) SQL Server Connection Strings for ASP.NET Web Applications 。
?
打開(kāi)應(yīng)用程序根目錄的 Web.config 文件。(不是 View 文件夾下的 Web.config 文件。)打開(kāi)紅色高亮標(biāo)記的 Web.config 文件。
?
?
找到 <connectionStrings>? :
?
?
在
Web.config
文件中的
<connectionStrings>
內(nèi)添加下面的連接字符串。
?
< 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" />
?
?
?
這兩個(gè)連接字符串非常相似。第一個(gè)連接字符串命名為DefaultConnection的,被用于控制可以訪問(wèn)應(yīng)用程序的成員鑒權(quán)數(shù)據(jù)庫(kù)。您已添加的連接字符串 (connection string) 顯示位于App_Data文件夾中的 一個(gè)Movie.mdf文件,數(shù)據(jù)庫(kù)命名為 Movie.mdf 。 在本教程中,我們將不使用會(huì)員數(shù)據(jù)庫(kù)有關(guān)會(huì)員,認(rèn)證和安全性的更多信息,請(qǐng)參閱教程:? 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 ; } } }
?
實(shí)際上, 您并不需要新增MovieDBContext連接字符串。 如果沒(méi)有指定一個(gè)連接字符串,Entity Framework將會(huì)在用戶目錄中創(chuàng)建一個(gè)LocalDB數(shù)據(jù)庫(kù)的 DbContext 類的(如本例中MvcMovie.Models.MovieDBContext)。您也數(shù)據(jù)庫(kù)命名為任何你喜歡的東西,只要它具有 .MDF 的后綴。例如,我們可以命名數(shù)據(jù)庫(kù) MyFilms.mdf 。
?
接下來(lái),您將創(chuàng)建一個(gè)新的MoviesController類,您可以用它來(lái)??展示電影數(shù)據(jù),并允許用戶創(chuàng)建新的影片列表。
?
?
?
ASP.NET MVC 5 - 創(chuàng)建連接字符串(Connection String)并使用SQL Server LocalDB
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
