예제 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="memberDescriptors"></param>
        /// <param name="declaringDescriptor"></param>
        /// <returns></returns>
        public static IgnoreChildPropertyDescriptors RetrieveMemberDescriptors(Type declaringType, IEntryDescriptor declaringDescriptor)
        {
            var _ignorePropertyList  = new ListCollection <IgnoreChildPropertyDescriptor>();
            var _propertyDescriptors = DbQueryPropertyHelpers.RetrieveMemberDescriptors(declaringType, declaringDescriptor);

            foreach (var _propertyDescriptor in _propertyDescriptors)
            {
                var _ignoreChildProperties = IgnoreChildPropertyHelpers.RetrieveMemberDescriptors(_propertyDescriptor, declaringDescriptor);

                if (!_ignoreChildProperties.IsEmpty)
                {
                    _ignorePropertyList.AddRange(_ignoreChildProperties);
                }
            }

            return(new IgnoreChildPropertyDescriptors(_ignorePropertyList, declaringDescriptor));
        }
예제 #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="instance"></param>
 /// <param name="declaringDescriptor"></param>
 /// <returns></returns>
 public static DbQueryPropertyDescriptors RetrieveMemberDescriptors(object instance, IEntryDescriptor declaringDescriptor)
 {
     return(DbQueryPropertyHelpers.RetrieveMemberDescriptors(instance.GetType(), declaringDescriptor));
 }