private static PrimaryInfo ParsePrimaryInfo(JObject o) { var primaryInfo = new PrimaryInfo { Platform = (String)o["platform"], OnlineStatus = (String)o["onlineStatus"], GameStatus = (String)o["gameStatus"] ?? string.Empty, GameTitleInfo = o["gameTitleInfo"] != null?ParseGameTitleInfo((JObject)o["gameTitleInfo"]) : null, LastOnlineDate = (String)o["lastOnlineDate"] ?? string.Empty }; return(primaryInfo); }
/// <summary> /// 获取主键 /// </summary> /// <param name="tableName"></param> /// <returns></returns> public List <PrimaryInfo> GetPrimaryKeys(string tableName) { List <PrimaryInfo> list = new List <PrimaryInfo>(); if (tableName.Contains(".")) { string prefix = tableName.Substring(tableName.IndexOf(".")); string sql = @"select a.constraint_name, a.column_name from all_cons_columns a, all_constraints b where a.constraint_name = b.constraint_name AND a.owner=b.owner and b.constraint_type = 'P' AND a.table_name='{0}' AND a.owner='{1}'"; sql = String.Format(sql, tableName.Substring(tableName.IndexOf(".") + 1), prefix); DataTable dt = this.GetDataTable(sql); foreach (DataRow dr in dt.Rows) { PrimaryInfo info = new PrimaryInfo(); info.Name = dr["constraint_name"].ToString(); info.TableName = tableName; info.ColmnName = dr["column_name"].ToString(); info.Owner = prefix; list.Add(info); } } else { string sql = @"select a.constraint_name, a.column_name from user_cons_columns a, user_constraints b where a.constraint_name = b.constraint_name and b.constraint_type = 'P' AND a.table_name='{0}'"; sql = String.Format(sql, tableName); DataTable dt = this.GetDataTable(sql); foreach (DataRow dr in dt.Rows) { PrimaryInfo info = new PrimaryInfo(); info.Name = dr["constraint_name"].ToString(); info.TableName = tableName; info.ColmnName = dr["column_name"].ToString(); list.Add(info); } } return(list); }