Example #1
0
 /// <summary>
 /// 填充map基本属性
 /// </summary>
 /// <param name="ormObject"></param>
 /// <param name="property"></param>
 /// <param name="node"></param>
 protected virtual void FillOrmPropertyMapKeyByXmlNode(OrmObjectInfo ormObject, OrmPropertyInfo property, XmlNode node)
 {
     if (node == null || node.Attributes == null)
     {
         return;
     }
     property.Map.ObjectProperty    = ormObject.GetPropertyInfo(node.Attributes["ObjectProperty"].Value);
     property.Map.MapObjectProperty = property.Map.GetMapObject().GetPropertyInfo(node.Attributes["MapObjectProperty"].Value);
 }
Example #2
0
        /// <summary>
        /// 得到最近的一个属性
        /// </summary>
        /// <param name="chainProperties"></param>
        /// <param name="orm"></param>
        /// <param name="propertyName"></param>
        /// <returns></returns>
        protected virtual string AddNearProperty(IList <OrmPropertyInfo> chainProperties, OrmObjectInfo orm, string propertyName)
        {
            var p = orm.GetPropertyInfo(propertyName);

            if (p != null)
            {
                chainProperties.Add(p);
                return(null);
            }
            var index = propertyName.IndexOf('.');

            if (index == -1)
            {
                return(null);
            }
            p = orm.GetPropertyInfo(propertyName.Substring(0, index));
            if (p != null)
            {
                chainProperties.Add(p);
            }
            return(propertyName.Substring(index + 1, propertyName.Length - 1 - index));
        }