天天看點

Microsoft SQL Server Compact 4.0&&ADO.NET Entity Framework 4.1&&MVC3

最近重新檢視微軟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 語句建立表和增删查改等操作,還需進一步學習........

Microsoft SQL Server Compact 4.0&&ADO.NET Entity Framework 4.1&&MVC3

根據圖中所示,安裝完成後重新開機VS就可以在菜單的工具中找打,并打開使用。

下載下傳安裝後,在項目中引用後即可使用

Microsoft SQL Server Compact 4.0&&ADO.NET Entity Framework 4.1&&MVC3

這裡EF的具體教程就不多說了,部落格園一搜一大堆。

示例項目如下:

Microsoft SQL Server Compact 4.0&&ADO.NET Entity Framework 4.1&&MVC3

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  打開該資料庫就能檢視或者修改裡面的表和資料等

Microsoft SQL Server Compact 4.0&&ADO.NET Entity Framework 4.1&&MVC3