【发布时间】:2010-07-05 13:44:23
【问题描述】:
在 web 应用程序的乐观并发场景中,我正在考虑为每个表提供时间戳列 (sqlserver),与 guid 相当。然后,当使用 Entity Framework 中的某个属性装饰时间戳列时,Linq to entity 将生成 sql 更新查询,例如 WHERE id = @p0 AND timestamp = @p1。当返回的更新记录数为0时,我们检测到并发异常。
在很多帖子中,我都在阅读有关自我跟踪实体的文章,这可能是一种替代或更好的解决方案。但我没有看到比上述“简单”时间戳方法有任何优势。除了数据库不可变且不提供时间戳列的情况外。
哪种解决方案更好,为什么?
编辑
Yury Tarabanko 正确地指出 STE 是另一个概念。 然而,zeeshanhirani 的回答表明并发检查是跟踪更改的主要动机之一。
让我们重新表述这个问题:为什么有人会使用 STE 概念进行并发检查,而“时间戳列”方法看起来要容易得多。
【问题讨论】:
标签: entity-framework timestamp self-tracking-entities