فهرست منبع

NEW Utilisation de IQueryable à la place de List

julien.legrand 8 سال پیش
والد
کامیت
113d133d66

+ 8 - 8
CD67.ModeleMVC.Factory/Internal/BaseFactory.cs

@@ -60,29 +60,29 @@ namespace CD67.ModeleMVC.Factory.Internal
             return ObjectSet.Where(dynamicExpression).FirstOrDefault();
         }
 
-        public virtual List<T> getAll()
+        public virtual IQueryable<T> getAll()
         {
             return getAll(null);
         }
 
-        public virtual List<T> getAll(string sortParameter = null)
+        public virtual IQueryable<T> getAll(string sortParameter = null)
         {
-            if (sortParameter != null) return ObjectSet.OrderBy(sortParameter).ToList();
-            else return ObjectSet.ToList();
+            if (sortParameter != null) return ObjectSet.OrderBy(sortParameter);
+            else return ObjectSet;
         }
 
-        public List<T> where(Expression<Func<T, bool>> expression, string sortParameter = null)
+        public IQueryable<T> where(Expression<Func<T, bool>> expression, string sortParameter = null)
         {
             IQueryable<T> query = ObjectSet.Where(expression);
             if (sortParameter != null) query = query.OrderBy(sortParameter);
-            return query.ToList();
+            return query;
         }
 
-        public List<T> where(string dynamicExpression, string sortParameter = null)
+        public IQueryable<T> where(string dynamicExpression, string sortParameter = null)
         {
             IQueryable<T> query = ObjectSet.Where(dynamicExpression);
             if (sortParameter != null) query = query.OrderBy(sortParameter);
-            return query.ToList();
+            return query;
         }
 
         public void add(ref T entity)

+ 2 - 2
CD67.ModeleMVC.Factory/TYPE_VIKINGFactory.cs

@@ -20,9 +20,9 @@ namespace CD67.ModeleMVC.Factory
         /// Ajout d'une surcharge pour trier le retour par défaut
         /// </summary>
         /// <returns></returns>
-        public override List<Entity.EXEMPLE_TYPE_VIKING> getAll()
+        public override IQueryable<Entity.EXEMPLE_TYPE_VIKING> getAll()
         {
-            return base.getAll().OrderBy(i => i.TYPE).ToList();
+            return base.getAll().OrderBy(i => i.TYPE);
         }
     }
 }

+ 2 - 2
CD67.ModeleMVC.Factory/VIKINGSFactory.cs

@@ -20,10 +20,10 @@ namespace CD67.ModeleMVC.Factory
         /// Retourne tous les objets (en surchargeant la méthode standard)
         /// </summary>
         /// <returns>Liste d'objets</returns>
-        public override List<EXEMPLE_VIKINGS> getAll()
+        public override IQueryable<EXEMPLE_VIKINGS> getAll()
         {
             //Ce n'est pas nécessaire ici (un lazy loading est présent par défaut), mais j'ai ajouté un include explicite pour charger les sous-objets "EXEMPLE_TYPE_VIKING"
-            return dbContext.EXEMPLE_VIKINGS.Include(item => item.EXEMPLE_TYPE_VIKING).ToList();
+            return dbContext.EXEMPLE_VIKINGS.Include(item => item.EXEMPLE_TYPE_VIKING);
         }
     }
 }