2

我开发 ASP.NET MVC 应用程序已经有一段时间了。在我所有的项目中,我只有一个数据上下文,但我遇到了一些对不同实体使用不同数据上下文的项目。我想不出它有什么用处。据我所知,它们在不同的事务中工作,因此当 CRUD 操作引发异常时,无法回滚过去的 CRUD 操作,因为它们将在那时提交。

我认为应该使用不同上下文的唯一情况是,当您需要分离事务范围或处理多个数据库时。所以我的问题是:

1)为不同的实体拥有不同的数据上下文的逻辑是什么?

2) 你什么时候使用不同的数据上下文?

4

2 回答 2

0

一个是只读/轻量级访问,另一个是完整的访问,附带所有的好东西。

但可以肯定的是,不同的数据上下文通常意味着不同的数据库。

于 2013-10-10T07:55:07.507 回答
0

当您有一个大型项目时,尤其是一个由多个开发人员共同完成的项目时,拥有不同的数据上下文通常会更容易。它们只能包含特定功能集所需的实体。

例如,如果您暂时将购物车数据保存到数据库中,您只需要购物车对象(购物车项目列表、愿望清单等),您不需要涉及客户管理、订单履行、发送的电子邮件的所有对象给客户等

如果您有开发人员在项目的不同部分工作,这也会变得更容易。他们都可以编辑他们的特定数据上下文,而不会与其他人混淆。这在尝试使用 SVN 合并数据时非常方便。

于 2013-10-10T11:22:17.337 回答