【发布时间】:2011-03-30 07:45:03
【问题描述】:
我正在开发一个 MVC 应用程序,该应用程序使用来自不同实体的数据并显示当前日期。我想将此数据从控制器传递到视图。我应该创建一个实体来持有其他实体吗?
【问题讨论】:
标签: asp.net-mvc entity-framework entity-framework-4.1
我正在开发一个 MVC 应用程序,该应用程序使用来自不同实体的数据并显示当前日期。我想将此数据从控制器传递到视图。我应该创建一个实体来持有其他实体吗?
【问题讨论】:
标签: asp.net-mvc entity-framework entity-framework-4.1
你可以制作一个视图模型,并将你需要的一切都放在这个视图模型的视图中。
public class MyViewModel
{
Entity1 Ent{get;set;}
Entity2 Ent2{get;set;}
DateTime CurrentDate{get;set;}
}
public ActionResult index()
{
MyViewModel model = new MyviewModel();
model.Ent = new Entity1();
model.Ent2 = new Entity2();
model.CurrentDate = DateTime.Now;
return View(model)
}
您的视图现在必须接受 VieModel 而不是 db 生成的实体。鉴于您可以访问像
这样的实体<%:Model.Ent1.SomeProperty%>
<%:Model.CurrentDate%>
<%:Model.Ent2.SomeProperty2%>
【讨论】:
我要做的是创建一个 ViewModel,它只包含特定于视图的信息,而不是整个实体。
【讨论】:
您真的需要一个单独的实体吗?我得到的是为什么不创建一个匿名对象来返回所需的实体或只返回所需的属性。每个数据场景都有一个实体可能会出现潜在问题。
【讨论】: