2013-01-04 33 views
0

我跟隨「專業ASP.NET MVC 4」,並嘗試使用實體框架從模型生成控制器。我的模型是這樣的:腳本與實體框架在ASP.NET MVC 4

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Data.Entity; 

namespace MvcMusicStore.Models 
{ 
    public class MusicStoreModels 
    { 
     public class Album 
     { 
      public virtual int AlbumId { get; set; } 
      public virtual int GenreId { get; set; } 
      public virtual int ArtistId { get; set; } 
      public virtual string Title { get; set; } 
      public virtual decimal Price { get; set; } 
      public virtual string AlbumArtUrl { get; set; } 
      public virtual Genre Genre { get; set; } 
      public virtual Artist Artist { get; set; } 
     } 

     public class Artist 
     { 
      public virtual int ArtistId { get; set; } 
      public virtual string Name { get; set; } 
     } 

     public class Genre 
     { 
      public virtual int GenreId { get; set; } 
      public virtual string Name { get; set; } 
      public virtual string Description { get; set; } 
      public virtual List<Album> Albums { get; set; } 
     } 
    } 
} 

我用鼠標右鍵單擊我的控制器文件夾並選擇添加>控制器我選擇「MVC控制器的讀/寫操作和視圖,使用實體框架」我的模板和「專輯(MvcMusicStore.Models)」作爲我的模型類。這本書告訴我選擇「新數據上下文...」並將它命名爲「MvcMusicStore.Models.MusicStoreDBContext」

一切看起來都不錯,我在執行上述操作之前已經保存並構建了我的解決方案。但是,我收到一條錯誤消息,說

There was an error generating 'MvcMusicStore.Models.MusicStoreDBContext'. 
Try rebuilding your project.' 

我有點茫然。誰能幫忙?

+0

爲什麼**每個**屬性都是虛擬的? –

+0

老實說,我不知道。引用這本書:「你也許會注意到每一個屬性都是虛擬的,我將在本章後面討論爲什麼這些屬性是虛擬的。現在,這三個簡單的類定義就是你的起始模型,並且包括你需要的所有東西來支撐控制器和一些視圖,甚至創建一個數據庫。「 – Iain

+0

「虛擬」屬性可協助延遲加載實體。 – IronMan84

回答

0

我對C#(我認爲這是C#代碼 - 但不要可以引用我這句話)沒有挺起來.....

在新項目中粘貼代碼後,嗯,我注意到說

Using System.Data.Entity; 

被標記爲錯誤, 還有一些進一步的研究表明,refrence可能是在inyour config.sys文件丟失......

回覆:http://forums.asp.net/t/1381740.aspx/1