今天我將根據數據庫中的表結構添加一些類。這些類將成為這個ASP.NET MVC應用程序中“模型”的一部分。
我們使用Entity Framework(實體框架)來定義和使用這些模型類,并且訪問數據庫。實體框架 (EF) 是一種對象關系映射機制,支持 .NET 開發人員使用特定對象來處理關系數據。它消除了開發人員通常需要編寫大部分數據訪問代碼的工作,所以也稱為代碼優先開發模式。使用實體框架 ,可以將自定義數據類與數據模型一起使用,而無需對數據類本身進行任何修改。 這意味著可以將“純舊式”CLR 對象
(POCO)與數據模型一起使用。 這些 POCO 數據類(也稱為“永久性未知對象”)映射到數據模型中定義的實體,它們支持與實體數據模型 工具生成的實體類型相同的大多數查詢、插入、更新和刪除行為。
一、添加實體類
在Visual Studio 的“解決方案資源管理器”中,右鍵單擊Models文件夾,選擇“添加—>類”。如下圖。
在彈出對話框中輸入類名的“Book”。 添加以下七個屬性到Book類:
public class Book { public int BookID { get; set; } public string Category { get; set; } public string Name { get; set; } public int Numberofcopies { get; set; } public int AuthorID { get; set; } public decimal Price { get; set; } public DateTime PublishDate { get; set; } }
我使用Book類來表示數據庫中的Books表中的一行記錄。Book對象的每個實例都將對應數據庫表(Books)中的一行數據,并Book類的每個屬性將映射到表中的各個列。
在同一文件中,添加BookDBContext類,代碼如下:
public class BookDBContext : DbContext { public DbSet<Book> Books { get; set; } }
這個BookDBContext類代表實體框架的書籍表(Books)的內容,它對數據庫中Books表進行增加、修改、刪除、查詢的操作。這個BookDBContext繼承自Entity Framework的DbContext基類。
為了能夠使用DbContext和的DbSet兩個類,你需要在文件的頂部添加以下語句:
using System.Data.Entity;
下面的完整Book.cs文件如下所示。
using System; using System.Data.Entity; namespace MvcApplication1.Models {
public class Book { public int BookID { get; set; } public string Category { get; set; } public string Name { get; set; } public int Numberofcopies { get; set; } public int AuthorID { get; set; } public decimal Price { get; set; } public DateTime PublishDate { get; set; } }
public class BookDBContext : DbContext { public DbSet<Book> Books { get; set; } }
二、創建SQL Server連接字符串
剛才創建的BookDBContext類主要功能是連接數據庫和映射數據庫表記錄,實現CURD。如何連接到指定數據庫將呢?通過在Web.config文件中增加數據庫連接信息。
首先,打開應用程序的根目錄下的Web.config文件。 如下圖。
Web.config文件中的<connectionStrings>元素中默認會有一個連接,如下圖。
我們要做的是要把下面的連接字符串添加到Web.config文件中的<connectionStrings>元素中
<add name="BookConnection" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Test;Integrated Security=SSPI"
providerName="System.Data.SqlClient" />
添加了新的連接字符串的Web.config文件的一部分,如下圖。
只要寫以上少量的代碼和在Web.config文件中寫一下配置信息,就完成了對數據庫CURD操作的所有功能代碼。
在下一篇文章中,我將會創建一個用于顯示書籍信息的列表頁面,同時能進行新建、修改、刪除、查詢操作的BookController類。
文章列表
留言列表