Подход Ruby к доступу к данным, доступный в IronRuby

Я выходец из сообщества Ruby и одобряющий IronRuby для разработки настольных приложений, поэтому меня мало интересует использование ORM на основе .NET, такого как Linq. Я хочу использовать рубиновый способ доступа к данным, который я полюбил в таких продуктах, как ActiveRecord, DataMapper и Sequel.

После долгих поисков я наткнулся на кирпичную стену, пытаясь заставить ActiveRecord работать на IronRuby для любой базы данных, кроме MS SQL. Я действительно хотел бы использовать встроенную базу данных, такую ​​как SQLite, HSQLDB, H2 и т. Д.

У кого-нибудь есть ORM на основе Ruby, работающий в IronRuby со встроенной БД. Что это за база данных, ORM? Можете поделиться советами? Стоит ли изучать ORM на основе Linq или .NET?


person jrhicks    schedule 22.09.2009    source источник
comment
Вы писали в блоге или рассказывали, как вы заставили ActiveRecord работать при разработке настольных .NET с SQL Server? Если так, я бы хотел узнать об этом. Сэкономил бы мне много времени. Мне бы не пришлось изобретать велосипед. Кстати, хороший вопрос.   -  person BuddyJoe    schedule 23.09.2009
comment
Я этого не писал, но вот он: ironruby.net/Documentation/Real_Ruby_Applications/Rails ... проголосуйте за вопрос, если считаете его хорошим. Голосование «за» может помочь привлечь больше внимания.   -  person jrhicks    schedule 23.09.2009
comment
Также упоминается адаптер IronRuby, ActiveRecord MS SQL: github.com/shri/activerecord-mssql -адаптер   -  person jrhicks    schedule 23.09.2009
comment
Мне удалось заставить MongoMapper работать без каких-либо проблем или модификаций. Конечно, Mongo - это база данных документов. Что конкретно у вас за кирпичная стена? Полагаю, вы видите исключения? Вы пробовали делать запросы в списке рассылки IronRuby? Разработчики IronRuby очень быстро отвечают на вопросы из этого списка.   -  person Nathan    schedule 08.10.2009


Ответы (2)


Я собираюсь написать обертку вокруг световой скорости OR / M. Я думаю, что всего около 3-400 строк рубина, и это позволит вам использовать активные средства поиска стилей записи, но в контексте .NET OR / M

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

Идея Lightspeed очень близка к идее datamapper. Вы можете использовать что угодно из пространства имен System.Data в IronRuby, но это повлечет за собой создание вашего собственного сопоставления с вашими объектами и перевод запросов на обновление / удаление в DbCommands и самостоятельное управление подключениями.

Сегодня я собираюсь улучшить dbi для sql server. Я посмотрю на sqlite, когда у меня будет более высокий тестовый охват. В любом случае реализация поставщика dbi для sqlite, использующего .NET, не займет много времени, и вы можете отправить мне электронное письмо / мгновенное сообщение, если хотите.

Но на данный момент состояние IronRuby таково, что если вы хотите, чтобы что-то работало, а этого еще нет, вы должны делать это самостоятельно.

person Casual Jim    schedule 23.09.2009
comment
Я с нетерпением жду вашего сообщения в блоге. Спасибо. - person jrhicks; 23.09.2009

В главе «Доступ к данным» моей книги у меня есть образец, в котором я использую базу данных MySQL через IronRuby.

Я использовал сборку MySQL .Net от IronRuby. Сработало отлично. Вскоре эта глава должна быть добавлена ​​к главам книги Rough Cuts, чтобы вы могли взглянуть на реальный код.

Посетите страницу IronRuby Unleashed в Safari Books, чтобы получить доступ к книге Rough Cuts chapters.

person Shay Friedman    schedule 22.09.2009
comment
Вы показали, как использовать какие-либо ORM на основе Ruby, такие как ActiveRecord, Sequel или DataMapper? - person jrhicks; 23.09.2009
comment
Нет, но вы можете проверить эту страницу, на которой рассказывается об использовании Ruby on Rails с IronRuby и об использовании ActiveRecord - ironruby.net/Documentation/Real_Ruby_Applications/Rails - person Shay Friedman; 23.09.2009
comment
Да, но ссылка на ironruby.net предназначена только для адаптера MSSQL. - person Philippe Monnet; 23.09.2009
comment
Скажите, что вы ищете, и я постараюсь в этом разобраться. Я напишу об этом пост в ближайшие несколько дней, когда закончу. - person Shay Friedman; 23.09.2009
comment
Я хочу использовать ORM на основе Ruby, например Active Record, Sequel или DataMapper со встроенной базой данных, такой как SQLite, HSQLDB или H2 и т. Д. - person jrhicks; 23.09.2009