最近重新檢視微軟MvcMusicStore-v3.0的源代碼,發現忽略了很多重要的東西,特别是資料通路那一部分。
Microsoft SQL Server Compact 4.0 是一種免費的嵌入式資料庫,軟體開發人員可以使用它來建構 ASP.NET 網站和 Windows 桌面應用程式。SQL Server Compact 4.0 的優點是:占用的空間小,支援在應用程式檔案夾中專門部署其二進制檔案,輕松地使用 Visual Studio 和 WebMatrix 進行應用程式開發,以及無縫地将架構和資料遷移到 SQL Server。
為什麼會想要用Microsoft SQL Server Compact 4.0這個嵌入式的資料庫,是用為有時為了檢視或者實作一些簡單的效果,又不得不裝SQL Server 2008或者2010很麻煩,而Microsoft SQL Server Compact 4.0建立的以.sdf的資料庫檔案就沒有這些限制是以.........
其次是SQL Server Compact Toolbox 這個VS的擴充插件也是無意中發現,使用它可以建立SQL Server Compact 4.0的.sdf資料庫檔案,不過我現在也隻知道使用sql 語句建立表和增删查改等操作,還需進一步學習........
根據圖中所示,安裝完成後重新開機VS就可以在菜單的工具中找打,并打開使用。
下載下傳安裝後,在項目中引用後即可使用
這裡EF的具體教程就不多說了,部落格園一搜一大堆。
示例項目如下:
1、在Web.config中配置如下:
<connectionStrings>
<add name="MyStoreEntities"
connectionString="Data Source=|DataDirectory|MyShop.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
注意,這裡資料庫連接配接串的名稱很重要,以後使用 EF Code-First 的時候,通過它來找到資料庫,這裡的連結串種使用了 Data Source=|DataDirectory|MvcMusicStore.sdf,這裡的 DataDirectory 指的就是項目中的 App_Data 檔案夾夾。如果項目中沒有App_Data就需要先建立該檔案夾。
2、建立實體類
Administrator.cs
Classification.cs
Commodity.cs
MyStoreEntities.cs(這個類很重要,它的名字一定要同配置檔案中add name="MyStoreEntities"的name一樣)
這個類繼承了DbContext類,對于這個類還沒有深入了解.....
該示例項目中Administrators,Classifications,Commoditys這三個名稱就是生成MyShop.sdf檔案資料庫的中的表名。
SampleData.cs(這個類用于在檔案資料庫建立前初始化一些資料,以便程式中使用)
3、在程式啟動時建立檔案資料庫
Global.asax.cs中的 Application_Start()中加上紅色那句代碼
protected void Application_Start()
{
System.Data.Entity.Database.SetInitializer(new EntityFramerwork.Models.SampleData());
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
4、Controllers中的調用如下:
主要就是紅色那兩句代碼
5、cshtml中的代碼:
這樣就可以了,運作代碼,就可以在App_Data中生成一個名為MyShop.sdf的資料庫檔案,使用SQL Server Compact Toolbox 打開該資料庫就能檢視或者修改裡面的表和資料等