2011-08-16 18 views
1

我是新入職的MVC3,非常高興能夠學習它。我試圖建立這個: http://mvcmusicstore.codeplex.com/ 從頭開始。下載SampleData.cs到我的模型文件夾,並做了這些改變到我的Global.asax.cs後:MVC MusicStore應用程序的問題

protected void Application_Start() 
    { 
     System.Data.Entity.Database.SetInitializer(new MvcMusicStore.Models.SampleData()); 
     AreaRegistration.RegisterAllAreas(); 

     RegisterGlobalFilters(GlobalFilters.Filters); 
     RegisterRoutes(RouteTable.Routes); 
    } 

我變得很怪異的輸出類型。儘管我在SampleData.cs中評論了全部數據,但是類型仍然出現在我的locahost/Store/Index中。這裏有更有趣的部分,在我的臺式電腦上顯示出來,但是當我將我的解決方案複製到USB驅動器並在我的筆記本電腦上運行時,它顯示0流派。

不知道這到底是怎麼回事:(

回答

3

SampleData類從DropCreateDatabaseIfModelChanges繼承。如果模型沒有變化,數據庫將保持原樣。

那麼,你運行註釋掉數據生成代碼Seed?如果是之前在桌面上的應用程序,這是該數據是如何到達那裏(初始數據庫創建過程中使用的Seed原始版本)。

你可以手動刪除數據庫,或者您可以將添加到模型的臨時屬性。無論哪種情況,初始化程序都會使用新的(無數據)版本SampleData.Seed在下一次運行時自動爲您重新創建數據庫。

編輯實際上還有另一種選擇是改變DropCreateDatabaseIfModelChangesDropCreateDatabaseAlways;但是,每次應用程序啓動時都會這樣做,所以如果希望數據持久存在,請不要這樣。

+0

不錯,它像一個魅力工作。謝謝!!! –