/// <summary> /// 获取实体属性的类型Type /// </summary> /// <typeparam name="T">泛型T</typeparam> /// <param name="propName">属性名称</param> /// <returns></returns> private static Type GetPropType <T>(string propName) { DbMapInfo dbInfo = null; Type result = DefaultType; Type entityType = typeof(T); if (EFTypeDescriptionCache.MemberDict.TryGetValue(entityType.FullName, out dbInfo)) { ColumnMapInfo cmi = null; if (dbInfo.CacheColumnMapInfos.TryGetValue(propName, out cmi)) { result = cmi.PropType; } } else { var pInfo = entityType.GetProperty(propName, BindFlags); result = pInfo == null ? DefaultType : pInfo.PropertyType; } if (result.IsEnum) { result = Enum.GetUnderlyingType(result); } return(result); }
public DataTable GetExportData(string FondsNumber, string FileNumber, PageQueryParam Param, List <Condition> Conditions, out Dictionary <string, ColumnMapInfo> mapInfos) { var source = this.GetFileData(FondsNumber, FileNumber, Param, Conditions); var k = string.Format("BusinessSystem.{0}.Structure.Fonds.{1}.FileLibrary.{2}.Field.", ConstValue.BusinessKey, FondsNumber, FileNumber); var fields = _IFieldService.GetFields(k, ""); var removeColumns = new List <DataColumn>(); mapInfos = new Dictionary <string, ColumnMapInfo>(); var baseDataDic = new Dictionary <string, Dictionary <string, string> >(); foreach (DataColumn column in source.Source.Columns) { var field = fields.FirstOrDefault(f => "_f" + f.ID == column.ColumnName); var mapInfo = new ColumnMapInfo(); if (field != null) { mapInfo.HeadText = field.Name; if (field.DataType == (int)FieldDataTypeEnum.基础数据) { mapInfo.HasBaseData = true; mapInfo.Values = _IEnum.GetEnumDic(ConstValue.BusinessKey, field.BaseData); } mapInfos.Add(column.ColumnName, mapInfo); } else if (column.ColumnName == "FondsNumber") { mapInfo.HeadText = "全宗号"; mapInfos.Add(column.ColumnName, mapInfo); } else if (column.ColumnName == "Status") { mapInfo.HeadText = "状态"; mapInfo.HasBaseData = true; mapInfo.Values = _IEnum.GetEnumDic(ConstValue.BusinessKey, "FileStatus"); mapInfos.Add(column.ColumnName, mapInfo); } else { removeColumns.Add(column); } } foreach (var item in removeColumns) { source.Source.Columns.Remove(item); } return(source.Source); }
public ConfigDatabaseWriter(int dataSourceId, int systemDataSourceId) { InitializeComponent(); this.FontFamily = SystemFonts.MessageFontFamily; this.FontSize = SystemFonts.MessageFontSize; this.FontStyle = SystemFonts.MessageFontStyle; this.FontWeight = SystemFonts.MessageFontWeight; this.DataSourceId = dataSourceId; this.SystemDataSourceId = systemDataSourceId; ConnectionStringKeys = new Manager().GetDataSourceKeysConnectionStrings(this.DataSourceId, false); SystemAttributes = new Manager().GetAttributes(this.SystemDataSourceId); DatabaseColumnMapInfo = new ColumnMapInfo(this.DataSourceId); _ColumnMapInfos = new ObservableCollection <ColumnMapInfo>(); TableNames = new ObservableCollection <string>(); BindData(); this.DataContext = this; }