我跟隨「專業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.'
我有點茫然。誰能幫忙?
爲什麼**每個**屬性都是虛擬的? –
老實說,我不知道。引用這本書:「你也許會注意到每一個屬性都是虛擬的,我將在本章後面討論爲什麼這些屬性是虛擬的。現在,這三個簡單的類定義就是你的起始模型,並且包括你需要的所有東西來支撐控制器和一些視圖,甚至創建一個數據庫。「 – Iain
「虛擬」屬性可協助延遲加載實體。 – IronMan84