如果我在Controller中需要这样的代码,我是否做错了?我应该采取不同的做法吗?
public ActionResult Details(int id)
{
var svc = new ServiceClient();
var model = new MyViewModel();
model.ObjectA = svc.GetObjectA(id);
model.ObjectB = svc.GetObjectB(id);
model.ObjectC = svc.GetObjectC(id);
return View(model);
}
我问的原因是因为我在后端有Linq-To-Sql和一个WCF服务,它通过一组DTO来公开功能,这些DTO不是Linq-To-Sql生成的类,因此不会拥有父/子属性;但在详细视图中,我希望看到一些父/子数据。
答案 0 :(得分:1)
您可以考虑使用单个工厂方法替换多个方法,该方法将生成预先填充的对象并将其返回。 WCF调用有很大的开销,如果可能的话,你应该尽量减少它们。
答案 1 :(得分:0)
如果我需要,我做错了什么 在Controller中这样的代码?应该 我的做法有所不同?
你看起来很好看。祝贺。
但在详细视图中,我想 查看一些父/子数据。
您可以在WCF服务中公开一个专门的方法,为您带来一组基于ObjectB的ObjectA(反之亦然)