实体框架,存储库模式,分离方案中的更新

时间:2013-06-04 10:22:03

标签: entity-framework repository-pattern

我正在尝试使用EF 5.0更新包含已分离方案(短期上下文)中已修改/已添加/已删除实体的ICollection的对象图?

我有这样的事情:

Visit (Edited)    
    FinancialInfo (Unchanged)
          Discount1 (Added)
          Discount2 (Modified)
          Discount3 (Deleted)

当我尝试更新访问时,会抛出OptimisticConcurrency异常:

  

“存储更新,插入或删除语句影响了意外情况   行数(0)。自那以后,实体可能已被修改或删除   实体已加载。刷新ObjectStateManager条目。“

其实我知道导致问题的原因,但是我使用的是存储库模式,我不直接使用DbContext。

我可以为访问实体编写自定义更新逻辑来处理这个问题,但我正在寻找一个通用选项。

This让我觉得,可能没有喧嚣的方法,但无论如何......

任何建议都将受到赞赏。

谢谢

1 个答案:

答案 0 :(得分:0)

我就是这样做的:

我覆盖了基本存储库类的Update方法,并编写了有关在更新树中处理对象的自定义逻辑。我跟着this example

我不喜欢这个解决方案,但我希望EF在不久的将来会变得更加灵活。谢谢你的关注,