Topten Software Blog
Latest updates from Topten Software
PetaPoco - Support for non-identity primary keys, T4 template schema tweaking, improved stored proc support and SQL Server geometry types.
PetaPoco 2.1 is now available in Nuget including support for dynamics, columns with spaces, ansi strings and a few other bits and pieces.
PetaPoco's main focus is obviously to work with POCO objects. Sometimes though you just want to run query and not have to worry about declaring an object for results. C#'s 4.0's new dynamic support is perfect for this.
PetaPoco now has support for Oracle (including sequences), simpler primary key versions of SingleOrDefault, some new SQL builder bits, support for enum property types and more...
Showcase Lane has been progressing fabulously. Still not ready to talk too much about it, but here's another sneek peek.
Today I received an email asking how to do SQL joins with PetaPoco. Since this is not entirely obvious and there's a couple of ways of doing it I thought I'd write it up...
I've been getting some great feedback on PetaPoco, all very positive. There's also been some great suggestions including these little tweaks...
Today I updated PetaPoco to support PostgreSQL database, tweaked some implementation details to yield better query plan caching and added the ability to query page or records without querying the total record count.
I don't want to give away too much just yet, but I'm really happy with how the design, look and feel of the new Showcase Lane is coming together.
SQL Server CE is a pretty cool little single file database engine. Now that PetaPoco supports it, there's a cool little ORM engine to go with it.
Given that SubSonic's slow performance was the original reason for writing PetaPoco I thought I'd quickly update the dapper-dot-net benchmark to put things in perspective.
Last night I noticed Sam Saffron's dapper-dot-net project and thought I'd modify its benchmark program to see how PetaPoco compares... a little more tuning and PetaPoco is now right up there.
PetaPoco was already pretty quick compared to a typical Linq implementation. By eliminating the use of Reflection and replacing it with dynamically generated methods it's now even faster - by about 20%.
Sometimes when building up SQL statements you need to add multiple optional WHERE clauses. PetaPoco's new consecutive clause handling now automatically joins these correctly.
A couple of users have asked for better strict POCO support in PetaPoco. Specifically the ability to remap column and table names without decorating POCOs with attributes.
I just noticed (and fixed) a bug in PetaPoco's transaction support, and added support for named parameters on the Database class.