private static void InitKeyColumns(XmlNode xnKeyColumns, PdmKeyModel Key) { XmlElement xmlElement = (XmlElement)xnKeyColumns; XmlNodeList childNodes = xmlElement.ChildNodes; foreach (string current in from XmlNode xnP in childNodes select((XmlElement)xnP).GetAttribute("Ref")) { Key.AddColumnObjCode(current); } }
private static PdmKeyModel GetKey(XmlNode xnKey, PdmTableInfoModel ownerTable) { PdmKeyModel PdmKeyModel = new PdmKeyModel(ownerTable); XmlElement xmlElement = (XmlElement)xnKey; PdmKeyModel.KeyId = xmlElement.GetAttribute("Id"); XmlNodeList childNodes = xmlElement.ChildNodes; foreach (XmlNode xmlNode in childNodes) { string name = xmlNode.Name; switch (name) { case "a:ObjectID": PdmKeyModel.ObjectID = xmlNode.InnerText; break; case "a:Name": PdmKeyModel.Name = xmlNode.InnerText; break; case "a:Code": PdmKeyModel.Code = xmlNode.InnerText; break; case "a:CreationDate": PdmKeyModel.CreationDate = String2DateTime(xmlNode.InnerText); break; case "a:Creator": PdmKeyModel.Creator = xmlNode.InnerText; break; case "a:ModificationDate": PdmKeyModel.ModificationDate = String2DateTime(xmlNode.InnerText); break; case "a:Modifier": PdmKeyModel.Modifier = xmlNode.InnerText; break; case "c:Key.Columns": InitKeyColumns(xmlNode, PdmKeyModel); break; } } return(PdmKeyModel); }
private IList <PdmTableInfoModel> GetTables(List <string> tableNames) { List <PdmTableInfoModel> list = new List <PdmTableInfoModel>(); foreach (var item in tableNames) { string tableName, tableDescription; List <DbTableColumnSchema> dbColumnList = DbSchemaBLL.GetDbTableColumnSchema(item, sqlconnection, out tableName, out tableDescription); if (dbColumnList == null) { throw new Exception("table {0} 不存在,请确认表名及数据库名是否正确!".Formats(item)); } PdmTableInfoModel tbmodel = new PdmTableInfoModel() { Code = tableName, Comment = tableDescription, Name = tableDescription }; dbColumnList.ForEach(p => { PdmColumnInfoModel pcim = new PdmColumnInfoModel(tbmodel); pcim.Code = p.columnName; pcim.Comment = p.Description; pcim.DataType = GetDataType(p); pcim.ColumnId = p.columnName; if (p.isPrimarykey == 1) { var keymodel = new PdmKeyModel(tbmodel) { KeyId = p.columnName }; keymodel.AddColumnObjCode(p.columnName); tbmodel.Keys.Add(keymodel); tbmodel.PrimaryKeyRefCode = p.columnName; } pcim.Identity = p.isIdentity == 1; pcim.Mandatory = p.isAllowNull == 1; tbmodel.Columns.Add(pcim); }); list.Add(tbmodel); } return(list); }