gpt4 book ai didi

database - 实现数据库修订的最佳做法是什么?

转载 作者:搜寻专家 更新时间:2023-10-30 20:31:32 24 4
gpt4 key购买 nike

实现数据库修订的最佳做法是什么?

假设我有一个名为 Test 的表,还有另一个用于修订的名为 Test_Rev 的表。

假设我将跟踪 Test 的记录更改到 Test_Rev 表中。

在保存之前,我得到了更改的实体,以便我可以修改需要修改的表。

我使用生产者-消费者模式创建了一个单独的线程,然后将我需要修改的实体传递给该线程。

使用访问者模式,我扩展了我的类的行为,以便我可以修改它们。

效果很好,但我需要了解最佳实践。

一个 friend 告诉我将修改作为我需要修改的表格的触发器。

顺便说一下,我正在使用 VS 2010、SQL Server 2005、 Entity Framework

最佳答案

这取决于您是否对数据库中的逻辑感到满意。如果您没有问题,请使用数据库触发器。如果您想在应用程序中保留逻辑,请在派生的 ObjectContext 中覆盖 SaveChanges 并在执行 base.SaveChanges 之前运行修订(添加修订实体) .唯一的问题可能是使用自动生成的 key “审核”新添加的实体 - key 只有在调用 base.SaveChanges 后才知道。因此,在这种情况下,您必须在保存更改后审核添加的实体并再次调用 base.SaveChanges

我认为没有任何理由为此设置单独的线程 - 而且 ObjectContext 不是线程安全的。

关于database - 实现数据库修订的最佳做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5182348/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com