One of the tools I find myself using quite a lot recently is LINQPad. In my new project we are using NHibernate, which together with the Linq provider is a real joy. I can still remember when I was using NHibernate for the first time in a project and to be honest, the Criteria API to write queries is just not nice. As soon as it comes to more complex search queries or the dynamic combination and aggregation of criterias (e.g from a search forms) it can get quite confusing. Or let me say it in a different way: In the end, the criteria API works absolutley fine and you can write all the queries you want, simple and complex ones, the only problemI always had was, that it just didn’t feel natural.
One important point of using an ORM for me is, to get me away from my stored procedures and sql code and create a certain level of abstraction. HQL or the criteria API always felt like something betwixt. We are using the repository pattern which implements IQueryable<T> and thus querying against our repository feels natural and integrates really nice. Nonetheless I had a query today where I had to use HQL rather than Linq, simply because I couldn’t figure out a nice and fast way how to write the query using Linq.
Anyway, back to LINQPad. Don’t know what LINQPad is? Here is what they say on their website:
LINQPad lets you interactively query SQL databases in a modern query language: LINQ. Kiss goodbye to SQL Management Studio!
LINQPad supports everything in C# 3.0 and Framework 3.5:
LINQ to Objects
LINQ to SQL
LINQ to XML
(Even old-fashioned SQL!)
Sadly, in order to get IntelliSense support, you have to pay something (ok, not a lot, but….). But the best thing about LINQPad for me is the “Samples” section. Packed with 200+ examples from the book C# in a Nutshell. I find myself looking up examples more often than actually using the tool itself.
You will find far more complex examples than the usual “get me all orders where the date is in the past” and especially the examples with lambda expressions are very helpful. Although my head still hurts after to much lambda quatsch today….
Well, one would hope so!
I haven’t really blogged an awful lot in the past. Well at least not in English. I’ve been blogging a bit over on my German Blog, but that’s mostly non techie stuff. In fact most of the stuff is about my experience as a German guy, living and working in Glasgow, Scotland.
The main reason why I decided to start this brand new shiny blog is because I’m working on a new project!
Yes I know, how exciting. Well, we all know that the chances to work on a Greenfield project are quite rare. I am still working (as a freelancer) for the same company in Glasgow. After working for the past one year or so on one of their flagship product, I now get the chance to work on something completely different. I can’t tell to much about the new project but I can tell you about the technologies we’re going to use.
After doing a couple of private projects using the asp.net mvc framework I think it’s now time for prime time.
Here are some of the key technologies we’re going to use:
One of the reasons I am so excited about the new project is the fact, that most of the “professional” projects I was working on in the past were using asp.net forms, no proper ORM, no IoC and Microsoft Update panel Quatsch.
I will use this blog to write about all the new stuff I will learn alongside this project and about all the stuff which has absolutely nothing to do with it. Ja, ich weiss!