public override IQueryable <TModel> Query(ISession currentSession)
        {
            global::NHibernate.IStatelessSession nativeSession = GetNativeSession(currentSession);
            IQueryable <TModel> queryable = nativeSession.Query <TModel>();

            return(queryable);
        }
 public override IQueryable <TModel> GetByNamedQuery(ISession currentSession, string queryName, IDictionary parameterDictionary)
 {
     global::NHibernate.IStatelessSession nativeSession = GetNativeSession(currentSession);
     global::NHibernate.IQuery            query         = nativeSession.GetNamedQuery(queryName);
     query.SetResultTransformer(resultTransformer);
     return(GetByQuery <TModel>(query, parameterDictionary));
 }
        public override IQueryable <TModel> GetByQuery(ISession currentSession, string queryString, IDictionary parameterDictionary)
        {
            global::NHibernate.IStatelessSession nativeSession = GetNativeSession(currentSession);
            ISQLQuery query = nativeSession.CreateSQLQuery(queryString);

            query.AddEntity(modelType);
            return(GetByQuery <TModel>(query, parameterDictionary));
        }
 public override void Delete(ISession currentSession, IEnumerable <TModel> models)
 {
     global::NHibernate.IStatelessSession nativeSession = GetNativeSession(currentSession);
     foreach (TModel model in models)
     {
         nativeSession.Delete(model);
     }
 }
 public override IEnumerable <TModel> Insert(ISession currentSession, IEnumerable <TModel> models)
 {
     global::NHibernate.IStatelessSession nativeSession = GetNativeSession(currentSession);
     foreach (TModel model in models)
     {
         nativeSession.Insert(model);
     }
     return(models);
 }
        public override IQueryable <TModel> GetById <TId>(ISession currentSession, TId id)
        {
            global::NHibernate.IStatelessSession nativeSession = GetNativeSession(currentSession);
            //IClassMetadata classMetadata = nativeSession.SessionFactory.GetClassMetadata(ServiceType);
            IClassMetadata classMetadata = null;
            Expression <Func <TModel, bool> > expression = BuildGetByIdExpression(classMetadata, id);
            IQueryable <TModel> queryable = Query(currentSession);
            IQueryable <TModel> result    = queryable.Where(expression);

            return(result);
        }
 public override void Delete(ISession currentSession, TModel model)
 {
     global::NHibernate.IStatelessSession nativeSession = GetNativeSession(currentSession);
     nativeSession.Delete(model);
 }
 public override TModel Update(ISession currentSession, TModel model)
 {
     global::NHibernate.IStatelessSession nativeSession = GetNativeSession(currentSession);
     nativeSession.Update(model);
     return(model);
 }