【问题标题】:Ruby approach to data access available in IronRubyIronRuby 中可用的 Ruby 数据访问方法
【发布时间】:2010-11-30 13:05:42
【问题描述】:

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

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

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

【问题讨论】:

  • 您是否写过一篇博文或分享过如何让 ActiveRecord 用于使用 SQL Server 进行桌面 .NET 开发?如果是这样,我很想知道它。会为我节省大量时间。我不必重新发明轮子。顺便问下好问题。
  • 这不是我写的,但这里是:ironruby.net/Documentation/Real_Ruby_Applications/Rails ... 如果您认为这个问题好,请投票赞成。赞成票可能有助于吸引更多的目光。
  • 另外,这里提到了 IronRuby、ActiveRecord MS SQL 适配器:github.com/shri/activerecord-mssql-adapter
  • 我能够让 MongoMapper 正常工作,没有任何问题或修改。当然,Mongo 是一个文档数据库。你的砖墙具体是什么?我想你看到了例外?您是否尝试过查询 IronRuby 邮件列表? IronRuby 开发人员对该列表中的问题做出了非常快速的响应。

标签: .net ruby ironruby hsqldb sql


【解决方案1】:

我即将写一篇关于光速 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 提供程序不会花费很长时间,如果你想这样做,我们非常欢迎你给我发电子邮件/IM。

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

【讨论】:

  • 期待您的博文。谢谢。
【解决方案2】:

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

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

查看 Safari Books 上的 IronRuby Unleashed page 以访问本书 Rough Cuts 章节。

【讨论】:

  • 您是否展示了如何使用任何基于 Ruby 的 ORM,例如 ActiveRecord、Sequel 或 DataMapper?
  • 不,但您可能想查看此页面,该页面讨论了在 IronRuby 上使用 Ruby on Rails 以及使用 ActiveRecord - ironruby.net/Documentation/Real_Ruby_Applications/Rails
  • 是的,但 ironruby.net 链接仅适用于 MSSQL 适配器
  • 告诉我你在找什么,我会试着调查一下。完成后我会在接下来的几天内写一篇关于它的帖子。
  • 我希望将基于 Ruby 的 ORM(如 Active Record、Sequel 或 DataMapper)与嵌入式数据库(如 SQLite、HSQLDB 或 H2 等)结合使用。
猜你喜欢
  • 1970-01-01
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多