我一直試圖讓我的頭在這個整個概念,我真的可以使用你的幫助球員。我正在使用代碼優先的方法。我昨天發了一篇文章here,但基於建議的進一步工作對我並不適用。所以爲了讓問題清楚,我再次回過頭來。ViewModel MVC 5 2模型,數據庫,控制器視圖關係的理解
我有2個簡單的類。
public class Media
{
public int Id { get; set; }
public string title { get; set; }
public string description { get; set; }
public string body { get; set; }
public string ImagePath { get; set; }
}
和
public class Video
{
public int ID { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string VideoLink { get; set; }
public string tags { get; set; }
}
對於每個人,我有自己的控制器,並設置由EF genereated CRUD意見。所以,我可以創建並存儲在數據庫這兩個對象,我有一個上下文類:
public class EventsContext : DbContext
{
public DbSet<Media> Medias { get; set; }
public DbSet<Video> Videos { get; set; }
}
}
我有這樣的方法IM MediasController
public ActionResult MediaMain()
{
IEnumerable<Media> medias = db.Medias;
ViewBag.Medias = medias;
return View();
}
它訪問從數據庫中存儲的對象,並允許工作與每個領域的視野。這條路。
@foreach (var b in ViewBag.Model)
{
@Html.Raw(Model.ImagePath)
}
好聽,我明白了。但。我仍然有兩種不同的看法,而我只需要一種。所以,我創建了一個MediaViewModel類(感謝提供幫助的)看起來像這樣:
如果我創建MediasController的方法是這樣的:
public ActionResult MediaMain() {
var model = new MediaViewModel();
return View(model);
}
我不能從對象的訪問數據,它給了我一個虛擬的感覺,看起來好像我沒有發送一個對象。我認爲我需要像IEnumerable<MediaViewModel> medias = db.MediaViewModel;
這樣的東西,但我沒有在我的數據庫環境中,我需要創建一個嗎?如果是這樣,它將是兩個類的對象的集合?這聽起來不對。我需要看看Controller中究竟發生了什麼,並且能夠訪問我需要的所有數據。請幫助。
查看下面的答案。問任何事情,如果有的話。謝謝 –