【问题标题】:handling transactions with EF5 using repository patren?使用存储库模式处理与 IF5 的事务?
【发布时间】:2014-05-25 03:34:06
【问题描述】:

In 使用带有 RepositoryUnit of Work 模式的 EF。我使用Unit of Work 的原因是我需要使用类似事务的机制来处理多个实体。

我读到 EF 在内部实现了工作单元模式,因此它可以处理事务。我正在使用通用存储库模式使用 EF5。您能否指导我如何使用通用存储库将现有事务支持与 EF5 一起使用?

【问题讨论】:

    标签: c# .net entity-framework entity-framework-5


    【解决方案1】:

    每次您在 DbContext 上调用 SaveChanges() 时,您都有一个隐式事务,因此您的所有更改要么成功,要么全部失败。

    【讨论】:

    • 谢谢,这是否意味着如果使用不同的存储库(Repository、Repository、Repository),如果我调用 SaveChanges(),它会保存更改所有 DbSets(Student、Treacher、School) 中的一个,它适用于所有 CRUD 操作?
    • 如果它们都在同一个底层 ObjectContext/DbContext 上工作,那么可以,所以这取决于您何时应该创建新上下文的策略。但基本上,UoW 模式背后的想法是,您可以在一个工作单元中对多个存储库进行更改,并一次提交所有更改。
    猜你喜欢
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 2013-02-04
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多