public IQueryOver <T, T> QueryOver <T>(Expression <Func <T> > alias) where T : class { using (new SessionIdLoggingContext(SessionId)) { CheckAndUpdateSessionStatus(); string aliasPath = ExpressionProcessor.FindMemberExpression(alias.Body); return(new QueryOver <T, T>(new CriteriaImpl(typeof(T), aliasPath, this))); } }