首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >管理无状态(web) DB4O应用程序中的唯一ID

管理无状态(web) DB4O应用程序中的唯一ID
EN

Stack Overflow用户
提问于 2010-05-08 16:03:31
回答 2查看 348关注 0票数 1

我正在使用DB4O构建一个新的web应用程序--堆积如山的乐趣和一些真正有趣的东西。我正在苦苦挣扎的一件事是,DB4O目前缺乏对无状态应用程序(主要是web应用程序)的支持,并且需要自动生成的is。

我发现有许多富有创意和有趣的方法,无论是hook into DB4O's eventsuse GUIDs rather than numeric IDs还是其他任何原因,都可以完全避免使用任何ID系统。

虽然每种方法都有其优点,但我想知道不那么优雅的方法是否同样是最合适的。考虑下面的伪代码:

代码语言:javascript
复制
If ID == 0 or null
Set ID = (typeof(myObject)).Count
myObject.Save

这似乎是一种简单得令人眼花缭乱的方法,通常在这里我开始思考,“我错过了一些非常明显的东西”。我有吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-08 16:26:54

您需要在计数到之前锁定myObject的插入和删除,直到保存之后

票数 1
EN

Stack Overflow用户

发布于 2010-10-09 02:34:18

新的db4o-extras project包含一个AutoIncrementID支持插件。这个项目刚刚开始,我还没有发布编译过的二进制文件。但它通过使用单个属性添加了对"Identity“列或自动递增的ID字段/属性的支持。

代码语言:javascript
复制
[AutoIncrement]
public property int ID {get; private set;}

[AutoIncrement]
protected int _id;
public property int ID {
  get{return _id;}
  set{this._id = value;}
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2793362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档