在本節中,您將添加一些類,這些類用於管理資料庫中的電影。這些類是ASP.NET MVC 應用程式中的"模型(Model)"。
您將使用.NET Framework 資料訪問技術Entity Framework,來定義和使用這些模型類。Entity Framework(通常稱為 EF) 是支援代碼優先的開發模式。代碼優先允許您通過編寫簡單的類來建立物件模型。(相對於"原始的CLR objects",這也被稱為POCO 類別)然後可以從您的類建立資料庫,這是一個非常乾淨快速的開發工作流程。
添加模型類
在方案總管中,按右鍵模型檔案夾,選擇添加,然後選擇類.
輸入Class名 "Movie"。
將下列五個屬性添加到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類來表示資料庫中的電影。Movie對象的每個執行個體將對應資料庫表的一行, Movie類的每個屬性將對應表的一列。
在同一檔案中,添加下面的MovieDBContext類:
public class MovieDBContext : DbContext { public DbSet<Movie> Movies { get; set; } }
MovieDBContext類代表Entity Framework的電影資料庫類,這個類負責在資料庫中擷取,儲存,更新,處理 Movie 類的執行個體。MovieDBContext繼承自Entity Framework的 DbContext基類。
為了能夠引用DbContext和DbSet,您需要在檔案的頂部添加以下using語句:
using System.Data.Entity;
下面顯示了完整的Movie.cs檔案。(一些不用的using語句已經被刪除了)
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; } }}
建立連接字串並使用SQL Server LocalDB
您剛建立的MovieDBContext類用來串連資料庫,並將Movie對象映射到資料庫表記錄。你可能會問一個問題,如何指定它將串連到那個資料庫。通過在應用程式的Web.config檔案中添加資料庫連接資訊來指定串連到那個資料庫。
開啟應用程式根目錄的Web.config檔案。(不是View檔案夾下的Web.config檔案。)開啟紅色高亮標記的Web.config檔案。
在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;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>
為了表示和儲存電影資料到資料庫中,上面少量的代碼和XML是你所需要的一切。
接下來,您將建立一個新的MoviesController類,您可以用它來??展示電影資料,並允許使用者建立新的影片列表。