问题标签 [db4o]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
205 浏览

c# - db4o 出现问题...在 IIS 重置/容器超出范围后不返回对象

所以我可能对 db4o 做了一些可悲的错误,导致这个问题发生......但每次我重置我的上下文时,我都会丢失所有的对象。我的意思是,一旦我的容器对象超出范围(由于 IIS 重置或其他原因),我就无法再检索我之前保留的任何对象。在“会话”的范围内,我可以检索所有内容,但是一旦该“会话”终止,则不会返回任何内容。奇怪的是,数据库文件的大小继续增长,所以我知道所有东西都在里面,只是事后永远不会返回。知道发生了什么吗?

这是我的 db4o 通用包装器:

0 投票
1 回答
1047 浏览

pdf - 在 db4o 中保存图像或 pdf

我知道将文件保存在关系数据库中并不是一件好事。但是在对象数据库中呢?这仍然是一个坏主意还是他们更适合这种操作?

0 投票
1 回答
242 浏览

db4o - db4o 查询子对象

我刚开始使用 db4o,但偶然发现了一个问题。

我有一个带有子对象的对象(它可能不是正确的词,但我希望你明白我的意思)。

子对象包含两个日期,一个开始日期和一个结束日期。

如果主对象至少有一个 DateTime.Now 位于开始日期和结束日期之间的子对象,我想显示它。

我必须使用本机查询或 SODA(linq 在项目中不起作用)。

提前致谢!

/弗雷德里克

0 投票
4 回答
1772 浏览

c# - 在 DB4O 中按类型查询

如何将类类型传递给 C# 中的函数?

当我进入 db4o 和 C# 时,我在阅读教程后编写了以下函数:

0 投票
3 回答
792 浏览

asp.net - db4o 在 asp.net 中信任环境中运行

我正在使用 db4o 的嵌入式客户端/服务器版本(我调用 OpenServer() 而不是 OpenFile() 方法),以便我可以托管一个 asp.net 网站,该网站将有多个用户同时读取和写入数据库。唯一的问题是我们使用的虚拟主机是一个中等信任的环境,所以它会抛出一个错误,指出程序集不支持部分信任的调用者......

想知道是否有人对如何使其工作有任何建议。谢谢!

:: 更新 ::

我已经使用 [AllowPartiallyTrustedCallers] 属性重新编译了 db4o dll,现在我收到以下特定错误:

System.TypeInitializationException 未被用户代码处理 Message="The type initializer for 'DataObjecten.db4oManager' throw an exception." TypeName="DataObjecten.db4oManager" InnerException: System.Security.SecurityException Message="请求 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 类型的权限失败。 " Source="Db4objects.Db4o" StackTrace: 在 Db4objects.Db4o.Internal.Platform4.AddShutDownHook(PartialObjectContainer container) 在 Db4objects.Db4o.Internal.PartialObjectContainer.Initialize1(IConfiguration config) 在 Db4objects.Db4o.Internal.PartialObjectContainer.Open() 在Db4objects.Db4o.Internal。

0 投票
6 回答
8206 浏览

oop - 如何在对象数据库中设计多对多关系?

我认为是时候看看 OO 数据库了,并决定在我的下一个小项目——一个小型库中使用 db4o。

考虑以下对象:书籍、类别。

一本书可以在 0-n 个类别中,一个类别可以应用于 0-m 本书。

我的第一个想法是拥有一个诸如 BookCatecory 之类的连接对象,但经过一番谷歌搜索后,我发现这不适合“真正的 OO”。

因此,另一种方法(许多人推荐)是在两个对象中都有一个列表:Book.categories 和 Category.books。一方面处理关系:Book.addCategory 将 Category 添加到 Book.categories 并将 Book 添加到 Category.books。在一个方法调用中更改 2 个对象时如何处理提交和回滚?

你怎么认为?第二种方法具有明显的优势,但至少对我来说,第一种“感觉”是正确的(更好的规范)。

0 投票
1 回答
437 浏览

c# - 在 db4o 中使用重命名的命名空间/程序集打开对象

我在 .dat 文件中有一组 db4o 格式的对象。该文件中的对象是 OldNamespace.MyObject、OldAssemblyName。

问题是我已经将命名空间和程序集重命名为更永久的东西。除了重命名程序集和命名空间(这就是我正在做的)之外,有没有办法将对象打开到新的程序集/命名空间名称中?

还是我永远坚持使用“MyTest3”作为程序集名称和命名空间?!

0 投票
2 回答
645 浏览

c# - 在 DB4O 中执行“SELECT TOP n”

有谁知道如何在 C# 的 DB4O 中执行类似“SELECT TOP n”的操作

0 投票
1 回答
530 浏览

silverlight - 带有 Silverlight RIA 服务的 DB4O

我曾考虑将 db4o OODBMS 与最近的 Silverlight / RIA 服务项目一起使用,但有一点我可以使用一些建议 - 如何使关联起作用。RIA 服务要求您使用 AssociationAttribute 标记所有关联实体。AssociationAttribute 的构造函数要求您指定实体对关联实体的键,以及关联实体本身的键。

例如,假设我有一个带有 CarID 和 Car 属性的 Racer 类,以及一个带有 ID 属性的 Car 类。我的 Racer 课程看起来像这样:

我在使用 db4o(或任何 OODBMS)时看到的问题是外键和主键不存在,也不需要存在 - 结果是我不需要 Racer.CarID 和 Car.ID 属性。要使这项工作与 RIA 服务一起工作,我需要创建自己的唯一密钥,我不介意,我只是不知道这样做的最佳方法。

所以我的问题是“你将如何创建这些密钥/ID”?

由于没有任何自动递增生成字段的概念(我不知道任何方式),我必须在尝试手动、安全递增键或使用类似 Guid 的东西之间做出选择。由于前者更难管理多个用户和/或多线程,我想使用 Guid 将是最简单的解决方案。

所以让我们考虑使用Guid。最简单的解决方案是创建我的 ID 属性,就像我在上面的示例中所做的那样,但使​​用 Guid 而不是 int。创建新实体后,我需要将 ID 设置为新的 Guid - 然后,每当我设置 Racer.Car 属性时,我还需要设置 Racer.CarID。

手动执行此操作很容易出错,因此我希望在属性 getter 和 setter 中处理很多内容,但我不确定实现它的最佳方法。


这就是我到目前为止所想到的。我想我会研究一下 Linq-to-SQL 生成的代码是如何处理其中一些问题的——也许我会在那里找到线索。

任何建议将不胜感激。

谢谢,
-查尔斯

0 投票
1 回答
269 浏览

linq - 改进 db4o linq 查询

我遇到了这个 linq 查询的问题:

如您所见,每个都PersistedCommit包含一个Collection<int>FileIDs其连接到其PersistedFileInfos 的调用。我想选择特定 fileInfo (由其路径标识)的所有先前提交。

我有大约 800PersistedFileInfo秒和 10PersistedCommit秒。查询大约需要 1.5 秒——我认为这太长了。-object的构造Commit函数只保存两个给定的参数 - 所以这里没有时间损失。

我的问题:
能否重写此查询以更好地执行 - 还是 db4o 问题(改用 SODA 查询)?