我正在添加一个使用多个表的新控制器。我已将这些表添加到.edmx文件中。对于添加新控制器对话框,它要求Model Class。我确实看到我放入.edmx的3个表但不确定选择哪个表,或者是否有办法选择这3个表的合并版本的模型。
答案 0 :(得分:0)
这是视图模型发挥作用的地方。首先创建一个视图模型,其中包含要在视图上呈现的3个模型的属性:
public class FakeViewModel
{
public Product Product { get; set; }
public Company Company { get; set; }
public User User { get; set; }
}
在控制器中,创建视图模型的新实例并相应地填充它。 EG:
public ActionResult FakeAction(int id)
{
var product = _repository.Get<Product>(id);
var company = _repository.Get<Company>();
var user = _repository.Get<user>();
var model = new FakeViewModel{
Product = product,
Company = company,
User = user
};
return View(model);
}
在您的视图中,您现在将拥有FakeViewModel的强类型视图。