public IQueryable <T> Query <T>()
        {
            INHibernateQueryable <T> queryable = sessionProvider.CurrentSession.Linq <T>();

            queryable.QueryOptions.RegisterCustomAction(x => x.SetResultTransformer(Transformers.DistinctRootEntity));
            return(queryable);
        }
Ejemplo n.º 2
0
        IEnumerable IExpandProvider.ApplyExpansions(IQueryable queryable, ICollection <ExpandSegmentCollection> expandPaths)
        {
            if (queryable == null)
            {
                throw new DataServiceException("Query cannot be null");
            }

            INHibernateQueryable nHibQuery = queryable as INHibernateQueryable;

            if (nHibQuery == null)
            {
                throw new DataServiceException("Expansion only supported on INHibernateQueryable queries");
            }

            if (expandPaths.Count == 0)
            {
                throw new DataServiceException("Expansion Paths cannot be null");
            }
            foreach (ExpandSegmentCollection coll in expandPaths)
            {
                foreach (ExpandSegment seg in coll)
                {
                    if (seg.HasFilter)
                    {
                        throw new DataServiceException("NHibernate does not support Expansions with Filters");
                    }
                    else
                    {
                        nHibQuery.QueryOptions.AddExpansion(seg.Name);
                    }
                }
            }

            return(nHibQuery as IEnumerable);
        }
Ejemplo n.º 3
0
        public void LingToHibernateTesting()
        {
            CanSaveCompany();

            linqCompany = UnitOfWork.CurrentSession.Linq<Company>();

            //FIRST METHOD
            var q = (from comp in linqCompany
                     where comp.ID == "MSZ"
                     select comp).First();

            //SECOND METHOD
            var queryHandler = new QueryHandler<Company>();
            queryHandler.AddCriteria(comp => comp.ID == "MSZ");
            var p = queryHandler.GetList().First();

            bool t = q == p;
            int totalCount = 1;//q.Count();
            
            //var query = from user in session.Linq<User>()
            //            select new { user.Name, RoleName = user.Role.Name };
            //Assert.AreEqual(3, totalCount);
            
            //var p = (from item in UnitOfWork.CurrentSession.Linq<Product>()
            //         where item.Title == ID
            //         select item).First(); 
        }
 object IQuery.Execute(INHibernateQueryable queryProvider)
 {
     return(Execute((INHibernateQueryable <TEntity>)queryProvider));
 }
 public abstract TResult Execute(INHibernateQueryable <TEntity> queryProvider);
Ejemplo n.º 6
0
 public static INHibernateQueryable <T> Expand <T>(this INHibernateQueryable <T> q, Expression <Func <T, object> > action)
 {
     return((INHibernateQueryable <T>)q.Expand(PropertyName <T>(action)));
 }
Ejemplo n.º 7
0
 public FormRepository(ISession session)
 {
     mSession = session;
     mForms = mSession.Linq<Form>();
 }
 public override void Setup()
 {
     base.Setup();
     query = (from c in session.Linq<Customer>()
              select c) as INHibernateQueryable<Customer>;
 }
Ejemplo n.º 9
0
 public override Conference[] Execute(INHibernateQueryable <Conference> queryProvider)
 {
     return((from conf in queryProvider
             where conf.SessionCount >= _minSessions
             select conf).ToArray());
 }
Ejemplo n.º 10
0
 public override void Setup()
 {
     base.Setup();
     query = (from c in session.Linq <Customer>()
              select c) as INHibernateQueryable <Customer>;
 }
Ejemplo n.º 11
0
 public static INHibernateQueryable <T> ExpandPath <T>(this INHibernateQueryable <T> q, Expression <Func <T, object> > action)
 {
     return((INHibernateQueryable <T>)q.Expand(StronglyTypeHelper.PropertyPath <T, object>(action)));
 }