我一直试图让我的头在这个整个概念,我真的可以使用你的帮助球员。我正在使用代码优先的方法。我昨天发了一篇文章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中究竟发生了什么,并且能够访问我需要的所有数据。请帮助。
查看下面的答案。问任何事情,如果有的话。谢谢 –