Example #1
0
        /// <summary>
        /// Проверить существуют ли записи по спецификациям
        /// </summary>
        /// <param name="specification">Спецификация</param>
        /// <returns></returns>
        public bool Exist(BaseGenericSpecification <T> specification = null)
        {
            bool result;

            result = !Comparer <T> .Equals(default(T), FirstOrDefault(specification));

            return(result);
        }
Example #2
0
        /// <summary>
        /// Выбрать первую запись соответствующую спецификациям
        /// </summary>
        /// <param name="specification">Спецификация</param>
        /// <returns></returns>
        public T FirstOrDefault(BaseGenericSpecification <T> specification = null)
        {
            T result = Context.Query <T>(specification).FirstOrDefault();

            if (result != null)
            {
                AddToCache(new[] { result });
            }

            return(result);
        }
Example #3
0
        /// <summary>
        /// Выбрать записи по спецификациям
        /// </summary>
        /// <param name="specification">Спецификация</param>
        /// <returns></returns>
        public IEnumerable <T> Find(BaseGenericSpecification <T> specification = null)
        {
            if (specification == null)
            {
                specification = new BaseGenericSpecification <T>(null);
            }

            IEnumerable <T> result = Context.Query <T>(specification);

            AddToCache(result);

            return(result);
        }