/// <summary> /// 获取SystemCore库的 公共配置信息 /// </summary> /// <param name="key"></param> /// <returns></returns> public static string DBGet(string key) { string result = string.Empty; if (!cacheDBAppSettings.TryGetValue(key, out result)) { lock (objLock) { if (!cacheDBAppSettings.TryGetValue(key, out result)) { result = CPQuery.From(string.Format(_sqlGetKey, ConnStringHelper.GetDBName("SystemCore")), new { KeyName = key }).ExecuteScalar <string>(); if (!string.IsNullOrEmpty(result)) { cacheDBAppSettings.Add(key, result); } } } } return(result); }
/// <summary> /// 获取SystemCore库的 公共配置信息 /// </summary> /// <param name="key"></param> /// <returns></returns> public static AppSettings DBGetInfo(string key) { AppSettings result = null; if (!cacheDBInfoAppSettings.TryGetValue(key, out result)) { lock (objLock) { if (!cacheDBInfoAppSettings.TryGetValue(key, out result)) { result = CPQuery.From(string.Format(_sqlGetInfoKey, ConnStringHelper.GetDBName("SystemCore")), new { KeyName = key }).ToSingle <AppSettings>(); if (result != null) { cacheDBInfoAppSettings.Add(key, result); } } } } return(result); }
/// <summary> /// 转换属性 /// </summary> /// <param name="info">属性</param> /// <param name="entity">实体Sql信息</param> private void TransferProperty(PropertyInfo info, EntitySqlInfo entity) { DataColumnAttribute attrColumn = info.GetMyAttribute <DataColumnAttribute>(); if (attrColumn != null) { var prop = ""; if (!string.IsNullOrEmpty(attrColumn.Alias)) { prop = string.Format("{0}.[{1}]", entity.TableName, attrColumn.Alias); } else { prop = string.Format("{0}.[{1}]", entity.TableName, info.Name); } entity.Properties.Add(prop); if (attrColumn.PrimaryKey) { entity.PrimaryKey = prop; } } else { ExtendColumnAttribute attrExtColumn = info.GetMyAttribute <ExtendColumnAttribute>(); if (attrExtColumn != null && attrExtColumn.ColumnType != 0) { switch (attrExtColumn.ColumnType) { case ExtendColumnTypeEnum.KeyParamOption_Code: entity.ExtendTables.Add(string.Format("LEFT JOIN dbo.KeyParamOption AS {0} ON [{0}].[Code] = {1}.[{2}] AND [{0}].[ParamGroup] = '{3}'", info.Name, entity.TableName, attrExtColumn.RelationColumn, attrExtColumn.Expression)); entity.Properties.Add(string.Format("[{0}].[Name] AS {0}", info.Name)); break; case ExtendColumnTypeEnum.KeyParamOption_Guid: entity.ExtendTables.Add(string.Format("LEFT JOIN dbo.KeyParamOption AS {0} ON [{0}].[KeyParamOptionID] = {1}.[{2}]", info.Name, entity.TableName, attrExtColumn.RelationColumn)); entity.Properties.Add(string.Format("[{0}].[Name] AS {0}", info.Name)); break; case ExtendColumnTypeEnum.UserName_Guid: entity.ExtendTables.Add(string.Format("LEFT JOIN {0}.dbo.ORG_UserInfo AS {1} ON [{1}].[UserGUID] = {2}.[{3}]", ConnStringHelper.GetDBName("SystemCore"), info.Name, entity.TableName, attrExtColumn.RelationColumn)); entity.Properties.Add(string.Format("[{0}].[UserName_Chn] AS {0}", info.Name)); break; case ExtendColumnTypeEnum.UserName_Code: entity.ExtendTables.Add(string.Format("LEFT JOIN {0}.dbo.ORG_UserInfo AS {1} ON [{1}].[UserCode] = {2}.[{3}]", ConnStringHelper.GetDBName("SystemCore"), info.Name, entity.TableName, attrExtColumn.RelationColumn)); entity.Properties.Add(string.Format("[{0}].[UserName_Chn] AS {0}", info.Name)); break; case ExtendColumnTypeEnum.BusinessUnit_Guid: entity.ExtendTables.Add(string.Format("LEFT JOIN {0}.dbo.ORG_BusinessUnit AS {1} ON [{1}].[BUGUID] = {2}.[{3}]", ConnStringHelper.GetDBName("SystemCore"), info.Name, entity.TableName, attrExtColumn.RelationColumn)); entity.Properties.Add(string.Format("[{0}].[BUName] AS {0}", info.Name)); break; case ExtendColumnTypeEnum.BusinessUnit_Code: entity.ExtendTables.Add(string.Format("LEFT JOIN {0}.dbo.ORG_BusinessUnit AS {1} ON [{1}].[BUCode] = {2}.[{3}]", ConnStringHelper.GetDBName("SystemCore"), info.Name, entity.TableName, attrExtColumn.RelationColumn)); entity.Properties.Add(string.Format("[{0}].[BUName] AS {0}", info.Name)); break; case ExtendColumnTypeEnum.Common: entity.ExtendTables.Add(attrExtColumn.Expression); entity.Properties.Add(attrExtColumn.RelationColumn); break; } } } }