服务层和存储库性能问题

时间:2011-09-16 04:12:44

标签: c# asp.net-mvc-3 c#-4.0

我的项目中有多个存储库用于不同的实体,每个存储库都有自己的datacontext(来自我的存储库的基类)。

在我的服务层中,业务逻辑有很多次要求我在多个存储库中添加/编辑对象(因此使用不同的DataContext)。

所以当我最终在多个存储库上执行.SaveContext时。这似乎是一件坏事,理想情况下我应该能够在一个上下文中点击Save,并且一个ado.net调用DB应该执行所有任务。

我在这里做错了什么?

由于

1 个答案:

答案 0 :(得分:5)

您需要查看将Unit of Work pattern与您的存储库一起使用,因为它允许您的多个存储库参与单个逻辑事务。

网上有很多关于如何做到这一点的博客文章,包括;

此外还有good tutorial使用MVC和EF以及工作单元+存储库模式。

这是一个很好的图表,解释它是如何工作的;

enter image description here