ASP.NET MVC4入門教程(四):添加一個(gè)模型
在本節(jié)中,您將添加一些類,這些類用于管理數(shù)據(jù)庫中的電影。這些類是ASP.NET MVC 應(yīng)用程序中的"模型(Model)"。
您將使用.NET Framework 數(shù)據(jù)訪問技術(shù)Entity Framework,來定義和使用這些模型類。Entity Framework(通常稱為 EF) 是支持代碼優(yōu)先的開發(fā)模式。代碼優(yōu)先允許您通過編寫簡(jiǎn)單的類來創(chuàng)建對(duì)象模型。(相對(duì)于"原始的CLR objects",這也被稱為POCO 類)然后可以從您的類創(chuàng)建數(shù)據(jù)庫,這是一個(gè)非常干凈快速的開發(fā)工作流程。
添加模型類
在解決方案資源管理器中,右鍵單擊模型文件夾,選擇添加,然后選擇類.
輸入Class名 "Movie"。
將下列五個(gè)屬性添加到Movie類:
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; }
}
我們將使用Movie類來表示數(shù)據(jù)庫中的電影。Movie對(duì)象的每個(gè)實(shí)例將對(duì)應(yīng)數(shù)據(jù)庫表的一行, Movie類的每個(gè)屬性將對(duì)應(yīng)表的一列。
在同一文件中,添加下面的MovieDBContext類:
public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}
MovieDBContext類代表Entity Framework的電影數(shù)據(jù)庫類,這個(gè)類負(fù)責(zé)在數(shù)據(jù)庫中獲取,存儲(chǔ),更新,處理 Movie 類的實(shí)例。MovieDBContext繼承自Entity Framework的 DbContext基類。
為了能夠引用DbContext和DbSet,您需要在文件的頂部添加以下using語句:
using System.Data.Entity;
下面顯示了完整的Movie.cs文件。(一些不用的using語句已經(jīng)被刪除了)
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; }
}
}
創(chuàng)建連接字符串并使用SQL Server LocalDB
您剛創(chuàng)建的MovieDBContext類用來連接數(shù)據(jù)庫,并將Movie對(duì)象映射到數(shù)據(jù)庫表記錄。你可能會(huì)問一個(gè)問題,如何指定它將連接到那個(gè)數(shù)據(jù)庫。通過在應(yīng)用程序的Web.config文件中添加數(shù)據(jù)庫連接信息來指定連接到那個(gè)數(shù)據(jù)庫。
打開應(yīng)用程序根目錄的Web.config文件。(不是View文件夾下的Web.config文件。)打開紅色高亮標(biāo)記的Web.config文件。
在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;Initial Catalog=aspnet-MvcMovie-2012213181139;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>
為了表示和存儲(chǔ)電影數(shù)據(jù)到數(shù)據(jù)庫中,上面少量的代碼和XML是你所需要的一切。
接下來,您將創(chuàng)建一個(gè)新的MoviesController類,您可以用它來??展示電影數(shù)據(jù),并允許用戶創(chuàng)建新的影片列表。
相關(guān)文章
在ASP.NET 2.0中操作數(shù)據(jù)之五十八:在程序啟動(dòng)階段緩存數(shù)據(jù)
前面我們分別介紹了在ObjectDataSource緩存數(shù)據(jù)和在分層架構(gòu)中緩存數(shù)據(jù),本文介紹ASP.NET 2.0中在程序啟動(dòng)階段在Global.asax文件中緩存數(shù)據(jù)。2016-05-05
從ASP過渡到ASP.net遺留的二十個(gè)積習(xí)
從ASP過渡到ASP.net遺留的二十個(gè)積習(xí)2006-10-10
在ASP.NET 2.0中操作數(shù)據(jù)之一:創(chuàng)建一個(gè)數(shù)據(jù)訪問層
本文主要介紹創(chuàng)建數(shù)據(jù)訪問層的具體步驟,從配置數(shù)據(jù)庫連接到插入,更新和刪除數(shù)據(jù)的具體實(shí)現(xiàn)方法,希望對(duì)大家有所幫助。2016-04-04
在ASP.NET 2.0中操作數(shù)據(jù)之六十五:在TableAdapters中創(chuàng)建新的存儲(chǔ)過程
本文主要講解使用TableAdapter設(shè)置向?qū)ё詣?dòng)創(chuàng)建增刪改查的存儲(chǔ)過程,雖然自動(dòng)創(chuàng)建存儲(chǔ)過程可以節(jié)省時(shí)間,但他們會(huì)包含一些無用的參數(shù),下節(jié)我們會(huì)介紹TableAdapter使用現(xiàn)有的存儲(chǔ)過程。2016-05-05
Mac中體驗(yàn)ASP.NET 5 beta2的K gen代碼生成
這篇文章主要介紹了Mac中體驗(yàn)ASP.NET 5 beta2的K gen代碼生成,需要的朋友可以參考一下。2016-06-06
在ASP.NET 2.0中操作數(shù)據(jù)之二十二:為刪除數(shù)據(jù)添加客戶端確認(rèn)
本文主要介紹ASP.NET 2.0中利用JavaScript在刪除按鈕的客戶端onclick事件(在ASP.NET中是OnClientClick)中調(diào)用confirm(string)方法,從而顯示一個(gè)確認(rèn)窗口,根據(jù)窗口的返回值執(zhí)行不同的操作。2016-05-05
《解剖PetShop》之四:PetShop之ASP.NET緩存
本文主要講解PetShop4.0的ASP.NET緩存,極大的提高的網(wǎng)站的性能,需要的朋友可以參考下。2016-05-05
在ASP.NET 2.0中操作數(shù)據(jù)之三:創(chuàng)建母版頁和站點(diǎn)導(dǎo)航
本文主要介紹在ASP.NET如何創(chuàng)建母版頁以及站點(diǎn)地圖等操作,母版頁的實(shí)現(xiàn)的功能有點(diǎn)類似自定義用戶控件,可以實(shí)現(xiàn)網(wǎng)站頁面統(tǒng)一的設(shè)計(jì)和布局。2016-04-04
ASP.NET MVC Bundles 用法和說明(打包javascript和css)
本文主要介紹了ASP.NET MVC中的新功能Bundles,利用Bundles可以將javascript和css文件打包壓縮,并且可以區(qū)分調(diào)試和非調(diào)試,在調(diào)試時(shí)不進(jìn)行壓縮,以原始方式顯示出來,以方便查找問題。2016-04-04



