0

有人对 as3-spod 有任何经验吗?我从 github 和 as3-signals 下载了源代码并开始尝试它,但是我需要很长时间才能通过反复试验来了解该框架,并且可能会错过很多最佳实践。该框架看起来不错,但缺少示例。git页面没有很多关于那个的信息......

如果有人知道我可以在有任何文档的纯 AS3 项目上使用的其他 AIR ORM,我将不胜感激!

4

1 回答 1

1

我希望做一个问题评论要求澄清,但我还没有足够的声誉!所以我会尽量回答。

我正在为我的应用程序使用 as3-spod。它非常可靠,而且大部分都给了我想要的东西。不过,这并不是很理想。我真正想要的是更类似于 ActiveRecord 的东西,或者让您通过以流畅的语法连接条件来生成查询的原始东西。

但是,如果您没有使用 Flex(我没有使用,您也没有使用),那么您的选择就很有限,因为大多数其他 AS3 ORM 都依赖于 Flex 框架的某些部分。除了 as3-spod,我能找到的唯一可能是Christophe Coenraets 的概念验证,但正如他所指出的,将其开发成一个成熟的 ORM 需要做很多工作:

这仍然是一个简单的概念证明,绝不是生产就绪的 ORM 解决方案。

我还没有时间。

你说得对,as3-spod 的文档记录很差。我猜你想看的主要课程是 SpodTable。它来自您执行插入、选择等操作。单个对象的更新可以从对象本身完成。注意 SpodTable 上的各种信号(select、selectAll 等)。要开始使用它,只需使用元数据标记模型类,然后从您的 SpodDatabase 实例调用 createTable(MyModelClass)。

我对 as3-spod 的主要抱怨是这些(我列出了它们,这样你就不会寻找不存在的功能,我浪费了相当多的时间!):

  • 它异步工作。不管你的实际 SQLConnection 是同步打开还是异步打开;你必须听信号。这意味着您不能检索记录然后以相同的方法立即使用它们,您必须听取信号。我倾向于在应用程序启动时进行大量选择,然后过滤内存中的数据,而不是进行复杂的查询。很烦人。

  • 小心数字列的空值。我看不到使用 as3-spod 为列设置 NULL 或 NOT NULL 的方法;它似乎总是使它们不为空,如果您尝试从具有空字段的对象中插入一行,这将导致错误。

  • 没有迁移系统(a la Rails)。我正在努力推出自己的产品,因为这是我的基本功能(这是我正在开发的移动应用程序)。

祝你好运!如果您还希望我介绍任何其他具体内容,请在评论中告诉我,我可以扩展此答案。

编辑 我刚刚注意到AS3SQLite的存在。还没有使用它,但看起来还有其他可能性:)

于 2012-06-27T22:40:35.063 回答