是否可以继续使用Entity Framework进行“更改”?
例如,我执行更新查询,然后连接失败,关闭应用程序,然后明天我希望它在恢复连接时执行更新查询。
使用Entity Framework 6可以做到吗?
答案 0 :(得分:0)
您可以创建自己的ChangeTracker,就像在tutorial中那样,它将所有更改保存到文件中。解析文件以供以后使用可能会很棘手。
另一种选择是使用retry logic,希望连接问题只是个小问题
答案 1 :(得分:0)
我认为ZorgoZ
是正确的,这个答案不能解决您的实际问题,但是我认为这是您的实际问题(请参阅XY problem):您无法保存一些更改(从业务角度考虑) ),并且您希望以后可以重试保存它们,而不必进行某些EF更改,而这些更改要稍后保存。
一种方法是存储触发更改的业务信息,然后重试整个流程:
除EF技术问题外,此实现还允许对流程进行更改,包括EF保存更改之外的内容(例如,检查某些外部API)并完全抽象掉数据访问层(EF更改序列化实现有很大的机会依赖于某些EF详细信息。)
我还感觉到上下文信息序列化(例如某种形式的数据)比EF上下文更改序列化更容易实现。