Wednesday, January 6, 2010

A discovery: PLINQO

I have recently spent some time looking at LINQ-to-SQL to see whether there would be an opportunity to benefit from it and replace things like NHibernate which I am used to. The best result of that effort was the discovery of PLINQO provided by the CodeSmith team you may be familiar with.

Before reading the rest of this short post, check them out: (and take also a look at

Initially, I was just looking for simple time saving template-based code generation to facilitate the usual fastidious work. I had the surprise to discover that PLINQO also removes a number of the most annoying limitations of LINQ-to-SQL, and that it does that in a safe (no loss of customization, yeah), fairly nice (a lot of developer friendliness in what gets generated) and extensible way.

Three key distinctive features of PLINQO:
- Many-to-Many relationships
- Entity detach
- Complete serialization and cloning
The availability of these three features essentially removes a significant amount of tedious, error prone code with problematic maintenance that LINQ-to-SQL required.

One key area I need to look into is support for the LINQ Dynamic Query Library.

There is much more to PLINQO. More to come.


Eric said...

We actually include the LINQ dynamic library in our CodeSmith.Data assembly. So its kind of baked into PLINQO already.

Randy said...

Unfortunately, in order to use PLINQO, you're required to purchase CodeSmith. This is what stopped our company from using it.

Anonymous said...

What a ridiculous reason not to use PLINQO, codesmith is not that expensive for the amount of hours it saves. Work smart AND hard, not just hard.

ArchitectGuy said...

Anonymous - I assume your comment was directed at Randy's comment just before. I am using the tool in a couple of places.

Of course, whether or not *I* am working "smart and hard" or just "hard" is a matter of total subjectivity...