我在Visual Studio Community 2015中創建了一個ASP.Net MVC項目,我必須讓用戶創建和管理廣告。這是一對多的關係,這意味着用戶可以根據自己的喜好創建儘可能多的廣告。每個用戶都可以看到所有廣告,但只有創建它們的廣告才能編輯它們。由於MVC模板已經實現了Identity,我想使用ApplicationUser類作爲我的用戶類。ASP.Net MVC如何在ApplicationUser和我自己的類之間創建一個一對多的關係?
我添加了一個類Avertisement到我的模型文件夾,看起來像這樣:
public class Advertisement
{
public int AdvertisementId { get; set; }
public string Description { get; set; }
public string ApplicationUserID { get; set; }
public virtual ApplicationUser ApplicationUser { get; set; }
}
然後,我添加了廣告DbSet到ApplicationDbContext類:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext() : base("DefaultConnection", throwIfV1Schema: false) {}
public DbSet<Advertisement> Advertisements { get; set; }
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
之後,我能遷移和重建解決方案:
Enable-Migrations
add-migrations InitialCreate
update-database
直到這一點一切ru順利。現在出現我的問題。我現在通過在「MVC 5 Controller with views,using Entity Framework」模板中添加一個Advertisement控制器來試用腳手架,但是生成的控制器隨附了以下error,每次db.ApplicationUsers出現在控制器上時都會出現。我不知道我在做什麼錯誤,並且我在無處不在的stackoverflow和互聯網上,但沒有任何解決方案爲我工作。你認爲什麼可能是錯的?
什麼是你的控制器中'db'的類型? – JamieD77
這是控制器腳手架自帶的默認值:private ApplicationDbContext db = new ApplicationDbContext(); –
作爲文本共享實際的錯誤信息比單擊屏幕截圖更有用。 – Jasen