Пример #1
0
 /// <summary>
 /// 通过属性名查找属性配置信息
 /// </summary>
 /// <param name="stkEntity">实体集合</param>
 /// <param name="propertyName">属性</param>
 /// <returns></returns>
 public static EntityParamField FindParamInfoByName(Stack <EntityConfig> stkEntity, string propertyName)
 {
     foreach (EntityConfig entity in stkEntity)
     {
         EntityParamField param = entity.EParamFields.FindByPropertyName(propertyName);
         if (param != null)
         {
             return(param);
         }
     }
     return(null);
 }
Пример #2
0
        /// <summary>
        /// 初始化字段信息
        /// </summary>
        private void InitField()
        {
            List <ClrField> lstFields = GetAllMember <ClrField>(_classType, false);

            _fields = new Dictionary <string, CodeElementPosition>();
            for (int j = 0; j < lstFields.Count; j++)
            {
                ClrField field = lstFields[j];
                if (field == null)
                {
                    continue;
                }
                if (field.SourceCodePositions == null)
                {
                    continue;
                }
                foreach (CodeElementPosition cp in field.SourceCodePositions)
                {
                    if (!IsManyOne(field))
                    {
                        EntityParamField epf = new EntityParamField(cp, field, this);
                        epf.AllowNull = EntityFieldBase.IsNullProperty(field.MemberTypeShortName);
                        _eParamFields.Add(epf);
                    }
                    else
                    {
                        EntityRelationItem erf = new EntityRelationItem(cp, field, this);
                        _eRelation.Add(erf);
                    }

                    _fields[field.Name] = cp;
                }
                _eParamFields.SortItem();
                _eRelation.SortItem();
            }
            _hasConfig = EntityMappingConfig.LoadConfigInfo(this);
        }