我在我的.NET 3.5应用程序中使用EF v1和Velocity缓存。我的缓存对象是数据库中实体模型的表示。所以我决定使用EF v1和POCO适配器。所以有一个实体访问层从缓存中读取对象,如果不存在,则从数据库读取并立即缓存。现在在需要更新的用例中,需要在数据库中更新脏POCO。现在我无法直接在这里使用POCO适配器和代理,因为它们需要一个跟踪更改的支持对象。我从来没有从框架中吸取适配器对象,所以更改检测没有发生。我看到的最简单的选项是:实体框架v1和缓存POCO更新
- 在更新前阅读实体。设置来自POCO的适配器值。让变化检测顺其自然。这会在每次更新之前进行选择,因为许多关联的实体可能会导致成本高昂。
- 创建一个新的实体对象。设置来自POCO的实体键和属性。保存更改。即使属性/关联实体没有被更改,这也会执行不必要的写操作。
我希望我在问题陈述中清楚。请建议。