> -----Message d'origine-----
> De : Rob Kinyon [mailto:rob.kin...@gmail.com]
> Envoyé : lundi 11 novembre 2013 15:06
> À : DBIx::Class user and developer list
> Objet : Re: [Dbix-class] Features comparison among ORMS?
> 
> What sort of features are you looking for? All the Perl ORMs wrap DBI,
> so connecting to different databases isn't a problem. Among the Perl
> ORMs, only DBIx::Class has resultsets, arguably the most powerful ORM
> concept. (It's not just among Perl ORMs - I don't know of any other
> ORM that has resultsets

Sorry, I'm coming a bit late in this discussion.

For info : DBIx::DataModel (DBIDM) has a notion of "statement object" which is 
quite similar to the "resultsets" of DBIx::Class (DBIC); see
https://metacpan.org/pod/release/DAMI/DBIx-DataModel-2.41/lib/DBIx/DataModel/Doc/Design.pod#STATEMENT-OBJECTS
 

The common point between DBIDM statements and DBIC resultsets is the ability to 
accumulate query information in several steps, in a kind of "lazy way", 
delaying the actual request to the database to the last moment when all query 
information is finally known. 

DBIC resultsets are probably more flexible : at each step you can add 
information about columns to retrieve, other tables to join, functions to 
apply, etc. The reverse of the medal is that it feels a bit like black magic, 
where the final request to the database can be hard to predict. [Of course this 
is a purely personal appreciation; I'm quite confident that experimented DBIC 
users don't feel that way].

 DBIDM statements are more like the good old imperative style of programming, 
with methods for explicitly controlling the lifecycle through states NEW -> 
REFINED -> SQLIZED -> PREPARED -> EXECUTED.

Regards, Laurent Dami
_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk

Reply via email to