51

Trying to decide between Dapper, Massive and PetaPoco. I do like simplicity of Dapper, flexibility of Massive and POCO support in PetaPoco but am currently procrastinating about which one to choose for my next project.

I do realise that, to a large extent, it's the matter of personal taste, but believe it will be valuable to hear some opinions on the subject, especially from people who tried more than one of these, err, libraries (what is the right term: library, file, framework?)

Community
  • 1
  • 1
georged
  • 1,348
  • 2
  • 12
  • 12
  • 3
    Someone is going to drop by and vote for Dapper just because it's used here. – BoltClock Apr 29 '11 at 08:56
  • Care to provide a little details about your next project as right now this question is subjective? – Darin Dimitrov Apr 29 '11 at 09:04
  • 35
    This is interresting and should be reopened IMHO – Larry Jul 07 '11 at 06:42
  • I elaborated those Micro ORMs and Microsoft Entity Framework. I found, that those Micro ORMS often lacked on documentation, features or active development. See my answer here for a more complete explanation why I recommend MS Entity Framework over Micro ORMs http://stackoverflow.com/questions/6997046/an-orm-for-sqlite-net-for-small-applications/14296875#14296875 – OneWorld Jan 12 '13 at 19:11
  • Give SQL Data (http://sqldata.codeplex.com). It is extremely fast and easy to use. (Disclosure - I am the author of SQL Data) – xcopy Nov 22 '13 at 06:33
  • I've never been a fan of the "don't pre-optimize" mentality when it comes to ORM's. If performance is an issue, how can you factor out your entire DAL easily? I found that PetaPoco was a good compromise between 100% hand-written code and a full-blown ORM. It allows simple CRUD operations to be completed much easier than manual SQL writing / SP's, but it also allows for hand-written queries that require complex logic. Performance w/ MSIL is great. – ChandlerPelhams Jan 15 '14 at 17:12

3 Answers3

27

Try to decide which of the features you mention -- simplicity, flexibility, POCO support -- will be most useful to you and your project(s) one year from now. Which is most likely to make your work easier?

Then you'll have your answer. And if you still can't choose, pick Dapper (just a random selection I made :-) As the Cheshire Cat says, if you don't really know where you want to go, it doesn't matter which road you choose.

Roy Dictus
  • 32,551
  • 8
  • 60
  • 76
  • 19
    +1 for Cat's reference - you're right. I guess I implicitly hoped for someone who tried at least 2 of these to chime in. – georged May 01 '11 at 08:29
8

PetaPoco's documentation seems more mature than others. It seems like it is the safest route.

suhair
  • 10,895
  • 11
  • 52
  • 63
  • 1
    Agree that PetaPoco probably is getting less attention than it deserves (as compared to other two). Looks like taking them for a spin on a small project would be the best way to compare. – georged May 01 '11 at 11:36
  • I think that **one of its strengths is simplicity** (similar as Massive on .net 4). Less code means easier problem solving. I'll give it a try and use T4 along with it to avoid heavy use of *magic strings* similar to what [I've done with BLToolkit](http://erraticdev.blogspot.com/2010/11/t4-template-to-generate-bltoolkit.html). – Robert Koritnik May 17 '11 at 12:24
1

i havent triend any of those. by default i always base my decision on number of lines of resulting client code and type safety. of course there are number of other metrics you should take into account but if your project is not constrained by any special (exotic) requirements those two are generally appliable. btw. i am aware about controversy my response may lead to ;)

Boris Bucha
  • 630
  • 4
  • 6