刷新ObjectContext或重新创建它以反映对数据库所做的更改?

时间:2010-07-21 09:58:30

标签: .net entity-framework objectcontext

我有一个Web服务,它向数据库公开操作。我正在使用实体框架4作为DAL。

我想知道处理进出数据库的操作的最佳方法是什么。 最好不要保持ObjectContext的实例,而是为每个对数据库执行的操作创建一个实例吗?这似乎是处理这种情况的一种非常糟糕的方式,但我想不出另一种方法来跟上对数据库所做的更改。

如果我保持相同的上下文活动,它将如何知道数据何时被修改?我知道在查询数据库时,ObjectContext只是通过检查主键字段来检查是否已添加或删除记录(我是否正确?)。在这种情况下,我必须明确告诉它刷新一个特定的对象,这不太实用。

我正在考虑使用时间戳列的解决方案,而objectcontext会检查该列是否有更改。如果修改了该列,则会刷新数据。 是否在Entity Framework 4中构建了这样的解决方案?或者是否有人就如何始终从数据库获取最新数据而不为每个请求重新创建ObjectContext有任何其他建议?

1 个答案:

答案 0 :(得分:2)

ObjectContext旨在用作工作单元,因此您可以为每个业务事务创建一个并在之后处理它。

EF - and repository pattern - multiple contexts