db40持久性和非关闭提交

本文关键字:提交 持久性 db40 | 更新日期: 2023-09-27 17:51:11

我使用具有透明持久性/激活的db40,使用msbuild增强作为ASP的首选数据库。NET MVC内部网协同编辑应用。我有几个简单的问题:

如果我在每次更改后调用commit(),而不关闭客户端或服务器中的IObjectContainer。当我的WebApp崩溃或被不正确地关闭时,我的数据仍然完好无损吗?

因为没有ActivatableHashSet或ActivatableSortedSet,如果我使用。net的HashSet或SortedSet或其他非ta/TP集合类型,当这些集合发生变化时,我如何正确处理持久性?(例如,当这些集合是TA类的成员时),例如

[Persisted]
class A<T> where T : new()
{
  HashSet<T> stuff = new ...
  void AddMore() { stuff.Add(new T()) }
}

db40持久性和非关闭提交

如果我在每次更改后调用commit(),而不关闭客户端或服务器中的IObjectContainer。当我的WebApp崩溃或被不正确地关闭时,我的数据仍然完好无损吗?

是的,有关db40中事务的更多信息,请参阅本文档。

但是要注意:经常调用commit to会破坏性能。你需要分析你的应用来找到一个平衡点。

因为没有ActivatableHashSet或ActivatableSortedSet,如果我使用。net的HashSet或SortedSet或其他非ta/TP集合类型,当这些集合发生变化时,我如何正确处理持久性?(例如,当这些集合是TA类的成员时),例如

我强烈建议您下载并查看启用了TA/TP的官方集合实现