我正在尝试使用 DB4O 构建一个新的 Web 应用程序——从中学到了很多有趣的东西和一些非常有趣的东西。我正在努力解决的一件事是 DB4O 目前缺乏对无状态应用程序(即,主要是 Web 应用程序)的支持以及对自动生成 ID 的需求。
有许多创造性和有趣的方法,我已经能够找到与DB4O 事件挂钩的方法,使用 GUID 而不是数字 ID,或者出于任何原因完全避免使用任何 ID 系统。
虽然每种方法都有其优点,但我想知道不太优雅的方法是否同样是最合适的。考虑以下伪代码:
If ID == 0 or null
Set ID = (typeof(myObject)).Count
myObject.Save
这似乎是一种非常简单的方法,通常在这里我开始思考,“我错过了一些非常明显的东西”。我有没有?