Пример #1
0
        /// <summary>
        /// 지정한 속성 값이 NULL이면 True로 간주하는 Where 절을 추가한다.
        /// PropertyName 를 조회할 때, 명확히 PropertyName=False가 아니라 NULL이거나, True라면 True로 간주한다.
        /// </summary>
        /// <param name="dc">criteria</param>
        /// <param name="propertyName">property name</param>
        /// <param name="value">property value to filter</param>
        /// <returns>criteria</returns>
        public static DetachedCriteria AddNullAsTrue(this DetachedCriteria dc, string propertyName, bool?value)
        {
            if (value.GetValueOrDefault(true) == false)
            {
                return(dc.AddEq(propertyName, false));
            }

            return(dc.AddEqIncludeNull(propertyName, true));
        }
Пример #2
0
        /// <summary>
        /// 지정한 속성 값이 NULL이면 True로 간주하는 Where 절을 추가한다. (IsEnabled 를 조회할 때, 명확히 IsEnabled=False가 아니라면 NULL이거나, True라면 True로 간주한다.
        /// </summary>
        /// <param name="criteria"></param>
        /// <param name="propertyName"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public static DetachedCriteria NullAsTrue(this DetachedCriteria criteria, string propertyName, bool?value)
        {
            if (IsDebugEnabled)
            {
                log.Debug("지정한 속성 값이 NULL이면 True로 간주하는 Eq 절을 빌드한다... propertyName=[{0}], value=[{1}]", propertyName, value);
            }

            return(value.GetValueOrDefault(true)
                       ? criteria.AddEqIncludeNull(propertyName, value)
                       : criteria.AddEq(propertyName, value));
        }