如果我有一个包含模型“iEnumerable<mymodel.CarsForHire>
”的MVC3 ASP.net页面 - 它直接链接到实体框架模型 - 我现在也想要包含MVC3生成的默认用户管理模型,我怎样才能一次使用这两个模型?
我假设我必须传递一个集合,或者创建一个名为“blah
”的模型,该模型的字段为“carsforHire”,最终结合iEnumerable<mymodel.CarsForHire>
,但不知道从哪里开始。
非常感谢任何想法
答案 0 :(得分:3)
你已经提到了解决方案;创建一个包含所有必需数据的视图模型类。例如:
public class SomeViewModel
{
public User CurrentUser { get; set; }
public IEnumerable<mymodel.CarsForHire> Cars { get; set; }
}
在控制器中构造该模型并将其传递给您的视图。并且不要忘记更新视图顶部的类型声明。
答案 1 :(得分:1)
我通常做的是创建一个ViewModel类。例如:
public class CarsViewModel
{
public IEnumerable<mymodel.CarsForHire> CarsForHire { get; set; }
public UserModel User { get; set; }
}
然后使用CarsViewModel
而不是IEnumerable<mymodel.CarsForHire>
答案 2 :(得分:0)
如果您愿意,可以使用EF的导航属性。
即
public class carForHire()
{
int property1{get; set;}
.
.
.
//Navigationla property
public virtual blah blah { get; set; }
}
在您的页面/视图中,您可以像访问它一样访问它
@foreach(var item in Mode)
{
item.blah.blahProperty
}