• QueryOver Series - Part 10: Combining Criteria and QueryOver

    As I mentioned in the first post in this series, QueryOver is built on top of NHibernate’s Criteria API. In this post, I’ll explore how to mix QueryOver and Criteria functionality to enable powerful query building techniques.

  • QueryOver Series - Part 9: Extending QueryOver to Use Custom Methods and Properties

    A basic tenet of QueryOver queries is that you can’t query against unmapped properties. While this is generally true, in this post I’ll outline some strategies you can use to register properties and functions with QueryOver so that they generate meaningful SQL.

  • Named Queries and Unmapped Types

    This post was inspired by this StackOverflow question.

  • QueryOver Series Part 8: Working with Subqueries

    Subqueries are often extremely useful when building queries. Unfortunately there’s not much out there on how to work with subqueries in QueryOver. In this post, I’ll dive into how to create the subqueries using QueryOver’s various subquery APIs.

  • Getting NHibernate Up and Running Quickly

    NHibernate can seem like a daunting library to set up. The configuration can get quite complicated–XML mappings, code mappings, mapping conventions, dialects, logging, etc. Sometimes you just want to get something up and running to test out a query or play around with a database other than your primary one. In this post, I’ll show you how to get up and running with NHibernate in about 5 minutes and in around 50 lines of code in LINQPad.

  • QueryOver Series - Part 7: Using SQL Functions

    In this post, I’ll go over how to use functions built into the database engine. This can be useful when you want to do some work inside of your SQL query rather than do post-processing on the result set you get back.

  • QueryOver Series - Part 6: Query Building Techniques

    In this post, I’m going to explain some more advanced techniques for building queries with QueryOver. Practically, this means adding joins and where clauses dynamically. This is actually one of the most powerful abilities of QueryOver so it’s worth understanding.

  • QueryOver Series - Part 5: Materializing Results

    So far I’ve been using the .List or .SingleOrDefault methods to actually get results from a query. In this post I’ll go into a little more detail about those methods. I’ll also cover other ways you can materialize a query’s results.

  • QueryOver Series - Part 4: Transforming

    You might have noticed that the last post in the series always projects each result row into an object[]. This might have made you wonder if there’s a better way to get results from a QueryOver query. Well there is! It’s called transforming.

  • QueryOver Series - Part 3: Selecting

    In this post I’ll go over building the SELECT statement with NHibernate QueryOver. I’ll also cover the different ways you can actually get a result back from your query.

  • QueryOver Series - Part 2: Basics and Joining

    In this post, I’ll outline some basics on QueryOver, including the NHibernate types involved and basic query structure. I’ll also talk about joining using JoinAlias and JoinQueryOver

  • QueryOver Series - Part 1: Why QueryOver?

    QueryOver is a strongly-typed querying technology built on top of NHibernate’s Criteria API. It was introduced in NHibernate 3.0. QueryOver is actually quite powerful and flexible, as I aim to demonstrate in this series of blog posts.

  • jQueryUI Autocomplete 1.9

    As you might have realized from my previous post, I have an affinity for the jQueryUI autocomplete widget. With 1.9, which was recently released, autocomplete got a little love, which is what I’ll focus on in this post. I’ll go over each change and what practical implications it has.

    The response event

  • jQueryUI Autocomplete: Top 5 sources of confusion

    I’ve been answering jQueryUI autocomplete questions on StackOverflow now for over two and a half years and I’ve noticed that there are a few things that are always coming up. This post will attempt to clear up those sources of confusion.

    jQuery Autocomplete vs. jQueryUI autocomplete

    jQuery autocomplete is jQueryUI autocomplete’s predecessor. Despite the multiple messages and disclaimers on the legacy plugin’s page, there is still confusion about the documentation, functionality, and status of this plugin. For some reason, some folks do not notice the following message on Jörn Zaefferer’s documentation page for the plugin:

    This plugin is deprecated and not developed anymore. Its successor is part of jQuery UI, and this migration guide explains how to get from this plugin to the new one. This page will remain as it is for reference, but won’t be updated anymore.

  • jQuery.aggregate: A simple jQuery aggregation plugin

    I’ve found myself needing to apply an aggregate function over a jQuery object several times. I decided to wrap the functionality in a plugin. I attempted to make $.aggregate and its little brother $.sum as close to LINQ’s aggregate and sum as possible. This goal obviously couldn’t be completely realized because of the dynamic nature of JavaScript. The biggest roadblock there is that you can’t really imply a “seed” value for an aggregating operation, since arrays can contain elements of various types in JavaScript. Let’s take a look with an example:

  • Retrospective: 1 year of StackOverflow

    About one year ago this month I joined StackOverflow and started participating. I wanted to take a few minutes to reflect on my experience the site. First off, why did I start answering questions?

subscribe via RSS