Home > .net 2.0, .net 3.5, c#, Fluent NHibernate, NHibernate, Oracle, Standards > Fluent NHibernate Repository of… integers?

Fluent NHibernate Repository of… integers?

April 21, 2009

I’d like to preface this by the fact that this “works” doesn’t mean it “should”.  If there’s a proper way to do this, I’m all ears.😀

I recently needed to do some revamp to an application that queried lookup data from another data system.  The system had a collection of composite keys (age and total score) that returned a percentile score.  Easy enough; however, there are a couple dozen of these tables and I didn’t want to create a couple dozen domain objects/repositories for a SINGLE query.

Typically, the NHibernateRepository* takes a type parameter that matches to the mapped object (and provide the proper return type); however, in this case, I didn’t have a type to return, simply an integer.  So why wouldn’t that work?

public class ScoreRepository : NHibernateRepository<int>, IDisposable

With that in place, I can now add a query into Session:

public int GetConceptPercentile(int age, int total)


var result =


“select perc from tblConcept where age = :age and total = :total”

             .SetInt32(“age”, age)

             .SetInt32(“total”, total)



return result;


A few more of those, and our test looks like:


public void GetPercentiles_For_Student()


using (var repository = new ScoreRepository())


              var languagePercentile =

             repository.GetLanguagePercentile(ageCalc_72months.TotalMonths, 18);


var motorPercentile =

             repository.GetMotorPercentile(ageCalc_72months.TotalMonths, 18);


var conceptPercentile =

             repository.GetConceptPercentile(ageCalc_72months.TotalMonths, 18);







Everything “appears” to be working; however, the extraneous methods that each NHibernateRepository includes (Get, GetAll, FindAll, etc) are defunct and just sitting there—very messy.

So is there a better way to use NHibernate/Fluent NHibernate WITHOUT mapping objects—those “lookup tables”?

%d bloggers like this: