/// <summary> /// 获取别名字段 /// </summary> /// <param name="handle"></param> /// <returns></returns> public List <BQLParamHandle> GetPrimaryAliasParamHandle(BQLParamHandle[] handles) { List <BQLParamHandle> lst = new List <BQLParamHandle>(); bool hasOther = false;//是否有不是指定的字段 foreach (BQLParamHandle handle in handles) { BQLEntityParamHandle pHandle = handle as BQLEntityParamHandle; if (CommonMethods.IsNull(pHandle)) { lst.Add(handle); hasOther = true; continue; } string pName = null; if (pHandle.PInfo == null) { pName = "*"; } else { pName = pHandle.PInfo.PropertyName; } lst.AddRange(_primaryTable.GetParamInfo(pName)); } if (!hasOther) { LoadChildParams(_primaryTable, lst); } return(lst); }
/// <summary> /// 获取子类的字段信息 /// </summary> /// <param name="table"></param> private void LoadChildParams(AliasTableMapping table, List <BQLParamHandle> lst) { foreach (KeyValuePair <string, AliasTableMapping> cTableMapping in table.ChildTables) { AliasTableMapping cTable = cTableMapping.Value; lst.AddRange(cTable.GetParamInfo("*")); if (cTable.ChildTables.Count > 0) { LoadChildParams(cTable, lst); } } }