**UPDATE – As we moved forward with our project this method turned out to be a little less awesome than I thought when I put it together. I’ve left this post here though as I am not ashamed of my failures! There is also some neat stuff in here with setting up the identity fields using nHibernate.
Recently I needed to create a generic re-usable system to generate system wide unique counters using SQL server tables and identity fields to handle the number generation. One of the key requirements was to be able to specify the identity seed, but in a re-usable way of course.
Generic Class and Class Map
So lets start this off with a base class to define the counter object: