服务层和存储库性能问题

MoX*_*lod 1 c# c#-4.0 asp.net-mvc-3

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

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

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

我在这做错了什么?

谢谢

bro*_*die 5

您需要查看使用工作单元模式和存储库,因为它允许您的多个存储库参与单个逻辑事务.

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

这里还有一个很好的教程,使用MVC和EF以及单元工作+存储库模式.

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

在此输入图像描述