/// <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); }
/// <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); }
/// <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); }