Rahil Kantharia
2008-Mar-14 07:19 UTC
[Ironruby-core] Active Record Or LINQ with IronRuby...?
Hi, In my learning process, i am confused with the Advantages of ORM like " ActiveRecord" and "Linq to SQL" I would like to know... what majority developers think on this point. Is it worth to go with LINQ to take full advantages or Get use to ActiveRecord / Data Mapper for a proven ORM option. Thanks -- Posted via http://www.ruby-forum.com/.
Ivan Porto Carrero
2008-Mar-14 08:08 UTC
[Ironruby-core] Active Record Or LINQ with IronRuby...?
All of them have their advantages and disadvantages. Linq2Sql only works for MS Sql Server, but gives you a graphical designer for your objects. It implements a unit of work which reduces the number of database calls. It doesn''t however support many-to-many relations, and it depends how much value you give to highly performant sql. Some of the sql it generates is quite smart, I just think it''s a pity they chose to use hierarchical fetches instead of spans (which is the way it was done in ObjectSpaces). Linq2Sql allows the use of stored procedures which is one way you could circumvent performance bottlenecks. ActiveRecord, I assume you''re talking about the Rails implementation of ActiveRecord. It offers more flexibility than Linq2Sql because supports a multitude of databases. The sql it generates is also not always the most performant but like Linq2Sql it will do just fine, it allows for you to optimize your queries by writing sql yourself or you could possible (ab)use that feature to execute stored procedures on sql server.>From the 3 choices you''ve given DataMapper is the most flexible, it is lessopinionated than ActiveRecord but doesn''t support as many databases as ActiveRecord does, for example it doesn''t support ms sql server but mysql, postgres and sqlite3. Because it''s less opinionated you can use it with legacy databases where ActiveRecord from rails makes this hard. DataMapper uses the identity map pattern which allows for reuse of objects within the same session, where ActiveRecord does not AFAIK. Both ActiveRecord and DataMapper support many-to-many relations and datamapper allows for more granular control over the visibility of the properties. In combination with IronRuby I, personally, would probably not use any of these in my own applications :) But rather use one of the other existing .NET ORM''s like NHibernate, SubSonic, LLBLGen, LightSpeed, ... But from the 3 choices you gave above I''d say it depends on the situation where ActiveRecord gives you the best options for different infrastructures. Linq2Sql gives you the best SqlServer support (and I guess that it would be the fastest too). DataMapper gives you some options with legacy databases and I imagine it wouldn''t be too hard to implement a ms sql driver, at which point it becomes a more attractive option than ActiveRecord IMHO. And lastly LINQ and Linq2Sql are 2 different things. LINQ allows you to query in-memory collections and Linq2Sql allows you to query a database with that same syntax. I think LINQ is valuable regardless of which ORM you use because of the easy access you have for performing complex manipulations on collections, although it comes at a certain performance cost. Seen as you''re using Ruby I wouldn''t worry too much about the performance cost of LINQ unless you have actual performance problems at which point you can optimize the code that is responsible for the bottleneck. The opinions above are my own opinions, other people most likely have different ideas around this subject. Hope this helps, Ivan On Fri, Mar 14, 2008 at 8:19 PM, Rahil Kantharia <lists at ruby-forum.com> wrote:> Hi, > > In my learning process, i am confused with the Advantages of ORM like " > ActiveRecord" and "Linq to SQL" > > I would like to know... what majority developers think on this point. > > Is it worth to go with LINQ to take full advantages or Get use to > ActiveRecord / Data Mapper for a proven ORM option. > > Thanks > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20080314/de53b90c/attachment-0001.html
Rahil Kantharia
2008-Mar-14 08:37 UTC
[Ironruby-core] Active Record Or LINQ with IronRuby...?
Thanks Ivan for the excellent guidance. You helped me move ahead, but i am still in confused stage in choosing the right ORM. Perhaps your book will explain more on this. I think i should accept your idea to go SubSonic Way, since Subsonic understands Active Record much better and its a straight implementation of Active Record for .Net. Thats what i have heard, i am not too sure. Refer this new blog here by Rob Conery... http://blog.wekeroad.com/2008/03/11/subsonic-21-beta-2-available-now/#comments Rob Conery answers... Linq To SubSonic is in the works as we speak? This sounds good enough. Lets see, what more opinions we get here. Still enough time to decide. Your expert guidance is always welcomed. -- Posted via http://www.ruby-forum.com/.
Ivan Porto Carrero
2008-Mar-14 09:00 UTC
[Ironruby-core] Active Record Or LINQ with IronRuby...?
In my book I will use the ActiveRecord from Rails for most of the examples because it will be the most well-known and I suspect the one where most developers are curious about. I will show how to leverage some of the other ORM''s to show that there are other options available. I think SubSonic is a safe option, it is endorsed by Microsoft and won''t go away anytime soon. I''m not that familiar with SubSonic yet but from what I''ve seen, it''s fairly easy to get started with. I don''t know if it will work with IronRuby because I haven''t tried that. It''s something I have planned to look at next week. On Fri, Mar 14, 2008 at 9:37 PM, Rahil Kantharia <lists at ruby-forum.com> wrote:> Thanks Ivan for the excellent guidance. > > You helped me move ahead, but i am still in confused stage in choosing > the right ORM. > > Perhaps your book will explain more on this. > > I think i should accept your idea to go SubSonic Way, since Subsonic > understands Active Record much better and its a straight implementation > of Active Record for .Net. Thats what i have heard, i am not too sure. > > Refer this new blog here by Rob Conery... > > http://blog.wekeroad.com/2008/03/11/subsonic-21-beta-2-available-now/#comments > > Rob Conery answers... > Linq To SubSonic is in the works as we speak? > > This sounds good enough. > > Lets see, what more opinions we get here. Still enough time to decide. > > Your expert guidance is always welcomed. > > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20080314/73b694b8/attachment.html
Softmind Technology
2008-Mar-14 09:03 UTC
[Ironruby-core] Active Record Or LINQ with IronRuby...?
Hi, Here''s a list of LINQ providers. LINQ to Everything http://blogs.msdn.com/charlie/archive/2008/02/28/link-to-everything-a-list-of-linq-providers.aspx LINQ Providers * LINQ to Amazon * LINQ to Active Directory * LINQ to Bindable Sources (SyncLINQ) * LINQ over C# project * LINQ to CRM * LINQ To Geo - Language Integrated Query for Geospatial Data * LINQ to Excel * LINQ to Expressions (MetaLinq) * LINQ Extender (Toolkit for building LINQ Providers) * LINQ to Flickr * LINQ to Google * LINQ to Indexes (LINQ and i40) * LINQ to IQueryable (Matt Warren on Providers) * LINQ to JSON * LINQ to LDAP * LINQ to NHibernate * LINQ to JavaScript * LINQ to Lucene * LINQ to Metaweb(freebase) * LINQ to MySQL, Oracle and PostgreSql * LINQ to RDF Files * LINQ to Sharepoint * LINQ to SimpleDB * LINQ to Streams * LINQ to WebQueries * LINQ to WMI o http://tomasp.net/blog/linq-expand.aspx o http://tomasp.net/blog/linq-expand-update.aspx * LINQ to XtraGrid This might help you in your decision Hope this helps SoftMind -- Posted via http://www.ruby-forum.com/.
Softmind Technology
2008-Mar-14 09:13 UTC
[Ironruby-core] Active Record Or LINQ with IronRuby...?
Ivan Porto Carrero wrote:> In my book I will use the ActiveRecord from Rails for most of the > examples----------------------------------------------- Dear Ivan, You mean to say you will be using ActiveRecord with IronRuby...? Will Active Record work only with IronRuby on Rails or within Asp.Net webforms and Asp.Net as Well...? Which database are you using in your book. I mean MySQL / SQLite or SQL 2005...? You have just raised my expectations with smile. -- Posted via http://www.ruby-forum.com/.
And as pointed out in the reply''s a few missing ones on the list. LINQ to Entities, (and the ones prebuilt in) LINQ to XML LINQ to SQL and the in memory LINQ PLINQ in the parallel platform ctp LINQ to XSD has showed back up also. Sure I am missing about 10 more just can''t think of them at 4 am in the morning:) Douglas -------------------------------------------------- From: "Softmind Technology" <lists at ruby-forum.com> Sent: Friday, March 14, 2008 4:03 AM To: <ironruby-core at rubyforge.org> Subject: Re: [Ironruby-core] Active Record Or LINQ with IronRuby...?> Hi, > > Here''s a list of LINQ providers. LINQ to Everything > > http://blogs.msdn.com/charlie/archive/2008/02/28/link-to-everything-a-list-of-linq-providers.aspx > > LINQ Providers > > * LINQ to Amazon > * LINQ to Active Directory > * LINQ to Bindable Sources (SyncLINQ) > * LINQ over C# project > * LINQ to CRM > * LINQ To Geo - Language Integrated Query for Geospatial Data > * LINQ to Excel > * LINQ to Expressions (MetaLinq) > * LINQ Extender (Toolkit for building LINQ Providers) > * LINQ to Flickr > * LINQ to Google > * LINQ to Indexes (LINQ and i40) > * LINQ to IQueryable (Matt Warren on Providers) > * LINQ to JSON > * LINQ to LDAP > * LINQ to NHibernate > * LINQ to JavaScript > * LINQ to Lucene > * LINQ to Metaweb(freebase) > * LINQ to MySQL, Oracle and PostgreSql > * LINQ to RDF Files > * LINQ to Sharepoint > * LINQ to SimpleDB > * LINQ to Streams > * LINQ to WebQueries > * LINQ to WMI > o http://tomasp.net/blog/linq-expand.aspx > o http://tomasp.net/blog/linq-expand-update.aspx > * LINQ to XtraGrid > > This might help you in your decision > > Hope this helps > > SoftMind > > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core >
Ivan Porto Carrero
2008-Mar-14 09:36 UTC
[Ironruby-core] Active Record Or LINQ with IronRuby...?
Because IronRuby is an implementation of the Ruby language you will be able to use ActiveRecord with anything. I want to note again that there won''t be a thing like IronRuby on Rails. The rails framework will just run on IronRuby just like it now runs on CRuby and JRuby. The database I''m using is irrelevant when I''m using ActiveRecord as long as I don''t set indexes it should run on sqlite as well for example. hth Ivan On Fri, Mar 14, 2008 at 10:13 PM, Softmind Technology <lists at ruby-forum.com> wrote:> Ivan Porto Carrero wrote: > > In my book I will use the ActiveRecord from Rails for most of the > > examples > ----------------------------------------------- > Dear Ivan, > > You mean to say you will be using ActiveRecord with IronRuby...? > > Will Active Record work only with IronRuby on Rails or within Asp.Net > webforms and Asp.Net as Well...? > > Which database are you using in your book. I mean MySQL / SQLite or SQL > 2005...? > > You have just raised my expectations with smile. > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20080314/0a655e80/attachment.html
Softmind Technology
2008-Mar-15 03:11 UTC
[Ironruby-core] Active Record Or LINQ with IronRuby...?
Hi Ivan, I still have my doubts about smooth functioning of SQL Server 2005 with Active Record. I have heard several complains about SQL Driver 2005 not efficient as it should be. MySql/Sqlite etc are working great with Active Record. I just thought to invite your attention regarding this, since SQL 2005 will be the first priority Database for IronRuby. Pl. investigate more in this segment. -- Posted via http://www.ruby-forum.com/.
John Lam (DLR)
2008-Mar-15 03:15 UTC
[Ironruby-core] Active Record Or LINQ with IronRuby...?
Softmind Technology:> I still have my doubts about smooth functioning of SQL Server 2005 with > Active Record. > > I have heard several complains about SQL Driver 2005 not efficient as > it should be. MySql/Sqlite etc are working great with Active Record.The SQL Server team is investigating providing support for SQL Server via ActiveRecord and other ORMs. To be clear, *they* will be driving this once we get ActiveRecord to the point where they can start investigating how they will provide support for SQL Server. Thanks, -John
Web Reservoir
2008-Mar-20 08:04 UTC
[Ironruby-core] Active Record Or LINQ with IronRuby...?
Ivan Porto Carrero wrote:> I want to note again that there won''t be a thing like IronRuby on Rails. > The > rails framework will just run on IronRuby just like it now runs on CRuby > and > JRuby. >----------------------------------------------------- Hello Ivan, Pl. guide me. I''m still confused about the exact working on Ruby on Rails on .Net platform. You say that... there wont be a thing like IronRuby on Rails... Then how i will be able to run Rails on .Net platform. You mean to say that i can simply paste the codes, currently developed in Rails via Netbeans into VS2008 and that will run easily, without alterations. This seems to be difficult to digest. Can you make clear, what modifications will be required to existing Ruby on Rails code to make it work on VS2008 or Sapphire Steel or any IDE that supports .Net DLR. Sorry for the trouble. WebReservoir -- Posted via http://www.ruby-forum.com/.
John Lam (DLR)
2008-Mar-20 13:50 UTC
[Ironruby-core] Active Record Or LINQ with IronRuby...?
Web Reservoir:> You mean to say that i can simply paste the codes, currently developed > in Rails via Netbeans into VS2008 and that will run easily, without > alterations.Yes. -John
Web Reservoir
2008-Mar-20 14:05 UTC
[Ironruby-core] Active Record Or LINQ with IronRuby...?
John Lam (DLR) wrote:> Web Reservoir: > >> You mean to say that i can simply paste the codes, currently developed >> in Rails via Netbeans into VS2008 and that will run easily, without >> alterations. > > Yes. > > -John------------------------------ Hey John, I have million smiles to share with Ironruby Team. You just made my day. WebReservoir. -- Posted via http://www.ruby-forum.com/.
Matthew Miller
2008-Mar-20 17:04 UTC
[Ironruby-core] Active Record Or LINQ with IronRuby...?
I think DLR will be the next big programming venue. On Thu, Mar 20, 2008 at 10:05 AM, Web Reservoir <lists at ruby-forum.com> wrote:> John Lam (DLR) wrote: > > Web Reservoir: > > > >> You mean to say that i can simply paste the codes, currently developed > >> in Rails via Netbeans into VS2008 and that will run easily, without > >> alterations. > > > > Yes. > > > > -John > ------------------------------ > Hey John, > > I have million smiles to share with Ironruby Team. > > You just made my day. > > WebReservoir. > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Ironruby-core mailing list > Ironruby-core at rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/ironruby-core/attachments/20080320/1309b6d2/attachment.html
John Lam (DLR) wrote:> Softmind Technology: > >> I still have my doubts about smooth functioning of SQL Server 2005 with >> Active Record. >> >> I have heard several complains about SQL Driver 2005 not efficient as >> it should be. MySql/Sqlite etc are working great with Active Record. > > The SQL Server team is investigating providing support for SQL Server > via ActiveRecord and other ORMs. To be clear, *they* will be driving > this once we get ActiveRecord to the point where they can start > investigating how they will provide support for SQL Server. > > Thanks, > -JohnHi, I have been using Ruby to integrate with large complex legacy SQLServer databases for over 2 years now and it isn''t that hard. 1. Use Dr Nic''s compositekeys http://compositekeys.rubyforge.org/ 2. Use Rahoul Baruah''s sql_server.rb for stored procedure support Now that I have dabbled with IronPython and LInQ I too am curious about the best approach for data_access/ORM with so many possibilities opening up. Linq2ActiveRecord provider or Add XML and collection mapping to ActiveRecord (I think XML can be fudged with a couple of pseudo tables related) or List Comprehension or Generators If a Linq2ActiveRecord provider is possible that might be the best of all worlds (if performance doesn''t rear it''s ugly head). Dr. Nic also has something called Magic Modes to reverse engineer an entire database into ActiveRecord models and other cool stuff. There must be some synergy possible here. Best, Carl -- Posted via http://www.ruby-forum.com/.