[这篇博文标题为:'将多个包含语句传递到存储库‘提供了一个很好的概述,如何控制加载的子对象的深度时,水化一个EF dbContext的对象。使用Linq表达式输入存储库的非常好的解释。
但是,这个博客留下了一个问题,通过解释Controller本身的外观来真正解决所涉及的工作流程。
如果瘦控制器通常认为是一件好事,如果EF正在成熟到主流使用的程度,那么在存储库和控制器之间最好的中介模式是什么?
乔治更好地回答了这个问题:
这是完美的,但是如何编写控制器来处理对象和它的子对象希望被请求的所有不同方式呢?这是一个创建CustomerOrderController和CustomerOrderLineItemsController的问题吗?
注意:此链接由SO自动提供。,可能涉及“如何执行”--我仍然需要对要使用的语法进行概述。
[医]美生菌
发布于 2012-08-03 18:13:51
你有没有考虑过使用通用存储库
在实现一个工作单元模式时,这篇文章比您想要的要远一些--这可能是好的。您的标签包括MVC,所以我建议您使用它来帮助您保持所有的回复和对象同步。
然后,在控制器中的操作中,您可以选择需要包括哪些属性:
private UnitOfWork _unitOfWork;
public YourController()
{
_unitOfWork = new UnitOfWork();
}
//
// GET: /Market/
public ActionResult Index()
{
return View(_unit.YourRepository.Get(m => m.IsActive, null, "CollectionToLoad1,CollectionToLoad2"));
}
在本例中,我将获得每个具有IsActive位的条目都为true,并包括CollectionToLoad1和CollectionToLoad2。
如果您不想实现一个工作单元,可以简单地在控制器中而不是在单元中声明回购,并直接进行调用。
https://stackoverflow.com/questions/11800985
复制相似问题