问题标签 [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 回答
1419 浏览

c# - Db4o 对象更新

我将 db4o 用于一个带有嵌入式数据库的简单应用程序。当我保存一个对象,然后更改对象时,是否假设 db4o 返回更改后的对象?

这是代码:

测试失败。我需要以任何特殊方式设置 db4o 容器吗?将其包装在提交调用中?谢谢

0 投票
1 回答
112 浏览

.net-3.5 - 客户端服务器程序集丢失?Db4Objects 7.4

我已经下载了当前版本的Db4Objects (7.4) 并安装了它。它似乎缺少客户端服务器程序集 Db4objects.Db4o.CS.dll

有谁知道客户端服务器是否已随此版本更改?如果有,有没有人有关于创建一个简单服务器的一些细节?

0 投票
1 回答
303 浏览

c# - Db4O - 我可以保存字符串吗?

我有以下代码:

但它失败了。我想这与我正在保存一个字符串的事实有关。

我的 Save() 代码是这样的:

我的持久课程应该有什么特别的吗?或者我可以用 db4o 保存几乎任何东西?

0 投票
3 回答
2204 浏览

.net - 关于使用 db4o 的几个问题

我正在尝试 db4o 对象数据库,到目前为止我非常喜欢我所看到的,但我也阅读了关于 stackoverflow db4o 体验的这篇文章?表明并非所有看起来都那么容易的事情都是容易的。

现在,我有一些关于如何在现实世界的应用程序中使用 db4o 的问题。因此,如果您有任何使用 db4o 工作的经验(尤其是在 Web 应用程序环境中),我很想听听他们的意见。

以下是我的问题:

  1. 在使用 db4o 存储对象时如何管理对象身份?**
    来自 RDBMS 背景,通常每个表都有一个主键/身份列,我现在无法想象如何在 db4o 中管理对象身份。

    例如,如果我正在使用 NHibernate / mysql 并需要通过 id 查找 User 对象,我将执行 session.Load(primaryKey) ,它将通过其 PK 检索。在表定义中将 PK 定义为自动增量也很常见。

  2. 由于 db4o 中没有这样的选项,我的想法是使用 Guid 结构来识别对象数据库中的一些对象。

  3. 有什么工具可以查看数据库中存储的对象吗?

    db4o 世界中是否有类似 SQL Server Management Studio(可能不太复杂)的东西?我想查看 db 文件中已经存储的数据/对象。

  4. 重命名域对象时你搞砸了吗?

    据我所知,当您重命名一个类时,数据库中任何以前存储的实例都无法再检索。有没有办法解决这个问题?您如何处理针对已经包含许多对象的实时数据库的更新?

  5. 我可以排除保存到数据库的属性吗?

    例如,如果一个域对象持有对(无状态)服务对象的引用,那么如果域对象被持久化,那么服务对象也将被持久化,对吗?

至少对我来说,将服务实例保存在数据库中似乎有点奇怪。

您可以将服务实例排除在保存之外吗?如果再次检索域对象,如何确保服务也再次注入实例?

0 投票
2 回答
744 浏览

asp.net-mvc - 将 Db4o 用于网站是明智的选择吗?

使用 Db4o 作为 Web 站点 (ASP.NET MVC) 的后端数据存储作为 MS SQL Server 的替代方案是明智的选择吗?

0 投票
4 回答
3071 浏览

c# - Db4o 查询:查找 ID = {数组中的任何内容}的所有对象

我在我的数据库中存储了 30,000 个 SimpleObjects:

我想在 DB4O 上运行一个查询,以查找具有任何指定 ID 的所有 SimpleObjects:

如何编写此查询以使 DB4O 不会激活所有 30,000 个对象?

0 投票
1 回答
785 浏览

c# - linq to db4o中的Lambda语法?

我知道 linq2db4o 可以做到以下几点

然而,我需要的是允许我有条件地构建查询的东西(就像我可以在其他 linq 变体中一样)

在现实世界的情况下,searchbag 将包含许多属性,构建一个巨大的 if-tree 来捕获所有可能的填充属性组合将是疯子的工作。

可以先调用

然后从那里继续。但这并不是我想要的。

免责声明:几乎重复了近 11 个月前的问题。
这一点更清楚了,因为我现在更好地理解了这个问题,我希望现在一些 db4o 开发人员的眼睛可以抓住这一点:

有什么建议么?

0 投票
4 回答
928 浏览

c# - 带有 Db4objects.Db4o.Linq.dll 的涡轮机给出无法加载一种或多种请求的类型异常

在我的 asp.net-mvc 应用程序中,我正在尝试设置 Turbine。
初始化代码如下:

然后我有一组与以下类似的注册商:

如果我尝试运行,在 SetLocatorProvider 之后,但在输入任何注册方法之前,我会收到以下错误:

“/”应用程序中的服务器错误。

无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Reflection.ReflectionTypeLoadException:无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。

源错误:在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

更新
将问题库缩小到 Db4objects.Db4o.Linq.dll 一旦我将这个库作为引用(甚至不是“使用”,只是添加到引用中)在我的 mvc web 应用程序中引用的一个库中,我得到上面提到的YSOD。所有其他 Db4o 库都可以正常工作。

METTRE À JOUR
尝试将 UnityServiceLocator 与 WindsosServiceLocator 和 NinjectServiceLocator 交换。完全相同的结果,因此问题很可能不是源自任何一个库。

OPPDATERING
要重新创建错误页面,只需执行以下步骤:

  • 创建新的 Mvc 应用程序(不管 wat 版本)
  • 更改 gloabal.asax.cs 代码以使用 MvcTurbine 并添加所需的 MvcTurbine 库
    您会发现一切仍然按预期工作
  • 添加 Db4objects.Db4o.dll
    仍然一切正常
  • 添加 Db4objects.Db4o.linq.dll
    YSOD

关于在哪里以及如何调试它的任何想法?

0 投票
4 回答
727 浏览

asp.net-mvc - 考虑到以下要求,我想推出自己的身份验证/授权系统是错误的吗?

在我的宠物项目中,我希望有一个具有以下要求的用户系统:

  • 它需要使用Db4o作为持久性模型
  • 我想使用 DI(通过Turbine)将所需的依赖项传递给我的用户模型
  • 它需要很容易插入到 asp.net-mvc
  • 它需要在没有太多麻烦的情况下进行测试
  • 它需要像 SO 一样支持匿名用户
  • 我希望将身份验证和授权分开(第一个可以没有第二个)
  • 它需要安全

我知道我在这里将一些技术放在功能之前,但由于它是一个宠物项目,我想学习一些新东西,我认为将它们作为要求包括在内是合理的。

在自己动手的过程中,我意识到我可能患有一些NIH综合症。
因为我真的不喜欢asp.net 中现有的用户框架有多么不必要的复杂,实际上它实际上只是关于安全性的所有更复杂的东西现在让我有些怀疑。继续滚动我自己的行为是否可以辩护?如果不是,您将如何使用现有的基于 IPrinciple 的框架来满足上述所有要求?

0 投票
1 回答
224 浏览

database - 保持与我的对象数据库的向后兼容性?

我正在使用对象数据库 ( db4o ) 编写应用程序,并且将以敏捷的方式从一个小的、最小的实现开始并从那里迭代地添加功能,同时发布新版本的软件。

我的主要问题是如何保持数据库的向后兼容性,随着模型类的新实现的开发,用户将能够使用第 10 版软件保存的第一版数据。

是否有一些标准方法可以做到这一点,尤其是使用对象数据库?