private IQuery CreateQueryContext()
{
// TODO: make the isolation level configurable...
var transaction = Database.CreateTransaction(IsolationLevel.Serializable);
var session = new Session(transaction, User);
session.AutoCommit(true);
return session.CreateQuery();
}