3

我来自 Ruby 社区并正在将 IronRuby 用于桌面应用程序开发,因此我对使用基于 .NET 的 ORM(例如 Linq)没有什么兴趣。我想使用我喜欢的来自 ActiveRecord、DataMapper 和 Sequel 等产品的 ruby​​ 数据访问方式。

经过大量搜索后,我遇到了一堵砖墙,试图让 ActiveRecord 在 IronRuby 上为 MS SQL 以外的任何数据库工作。我真的很想使用像 SQLite、HSQLDB、H2 等嵌入式数据库。

有没有人有一个基于 Ruby 的 ORM 在 IronRuby 中使用嵌入式数据库。什么是数据库,ORM?你能分享一些技巧吗?我应该学习基于 Linq 或 .NET 的 ORM 吗?

4

2 回答 2

2

我将在博客上写一个围绕光速 OR/M 的包装器,我认为它总共有 3-400 行 ruby​​,它允许您使用活动记录样式查找器,但在 .NET OR/M 的上下文中

http://www.mindscape.co.nz/products/lightspeed/

lightspeed 背后的想法与 datamapper 背后的想法非常接近。您可以使用 IronRuby 中 System.Data 命名空间中的任何内容,但这需要您自己映射到对象并将更新/删除查询转换为 DbCommands 并自己管理连接。

我正在考虑今天晚些时候改进 sql server 的 dbi。当我有更高的测试覆盖率时,我会看看 sqlite 的。无论如何,为使用 .NET 的 sqlite 实现一个 dbi 提供程序不会花费很长时间,如果你想这样做,我们非常欢迎你给我发电子邮件/即时消息。

但是此时 IronRuby 的状态是这样的,如果您想要某些东西工作而它还没有工作,那么您必须自己做。

于 2009-09-23T08:26:01.957 回答
0

在我书中的数据访问一章中,我有一个通过 IronRuby 使用 MySQL 数据库的示例。

我所做的是使用来自 IronRuby 的 MySQL 的 .Net 程序集。工作完美。本章应该很快会添加到本书的 Rough Cuts 章节中,因此您将能够查看实际代码。

检查 Safari Books 上的IronRuby Unleashed 页面以访问本书 Rough Cuts 章节。

于 2009-09-22T21:00:12.747 回答