代码之家  ›  专栏  ›  技术社区  ›  yakya

何时使用不同的DataContext

  •  2
  • yakya  · 技术社区  · 13 年前

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

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

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

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

    2 回复  |  直到 13 年前
        1
  •  0
  •   Simon Holman    13 年前

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

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

    如果你让开发人员处理项目的不同部分,这也会让事情变得更容易。他们都可以编辑自己的特定数据上下文,而不会干扰其他人。当尝试使用SVN合并数据时,这非常方便。

        2
  •  0
  •   Ahmed ilyas    13 年前

    一个是ReadOnly/轻量级访问,另一个是全面访问,附带所有好东西。

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