国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

從DACPAC文件中讀取元數(shù)據(jù)

2024-07-21 02:48:46
字體:
供稿:網(wǎng)友
從DACPAC文件中讀取元數(shù)據(jù)

SQL數(shù)據(jù)庫項目生成時會生成dacpac文件,可從中讀出所需的元數(shù)據(jù),進行一些轉(zhuǎn)換(如生成數(shù)據(jù)字典)

?

  1. var model = new TSqlModel(@"D:/kljob/CardLan/CardLanDB/bin/Debug/cardlandb.dacpac");
  2. ?
  3. xmlWriterSettings settings = new XmlWriterSettings();
  4. settings.Indent = true;
  5. settings.Encoding = new UTF8Encoding(false);
  6. settings.NewLineChars = Environment.NewLine;
  7. MemoryStream ms = new MemoryStream();
  8. XmlWriter writer=XmlWriter.Create(ms,settings);
  9. ?
  10. int startID=31;
  11. writer.WriteStartDocument();
  12. writer.WriteStartElement("root");
  13. foreach (var s innew ModelTypeClass[]{ModelSchema.PRocedure ,ModelSchema.View}){
  14. ???var allTables = model.GetObjects(DacQueryScopes.UserDefined,s );
  15. ???var tableScripts = from t in allTables
  16. ???????????????select t ;
  17. ??????foreach(var x in tableScripts){
  18. ?????????writer.WriteStartElement("QueryObject");
  19. ?????????writer.WriteElementString("ObjectID",startID++.ToString());
  20. ?????????writer.WriteElementString("SourceType", x.ObjectType.Name);
  21. ?????????writer.WriteElementString("ObjectName", x.Name.Parts[1]);
  22. ?????????writer.WriteElementString("Remark","");
  23. ?
  24. ????????????int id=0;
  25. ????????????foreach(var c in x.GetChildren())
  26. ????????????{
  27. ???????????????writer.WriteStartElement("QueryObjectCols");
  28. ???????????????writer.WriteElementString("Title",c.Name.Parts[2]);
  29. ???????????????writer.WriteElementString("ObjColID",id++.ToString());
  30. ???????????????writer.WriteElementString("Field",c.Name.Parts[2]);
  31. ???????????????writer.WriteElementString("Width","80");
  32. ???????????????writer.WriteElementString("Sortable","1");
  33. ???????????????if(s==ModelSchema.Procedure)
  34. ??????????????????writer.WriteElementString("ValueType",c.GetReferenced(Parameter.DataType).First().Name.Parts[0]);
  35. ???????????????else
  36. ??????????????????writer.WriteElementString("ValueType",c.GetReferenced().First().GetReferenced(Column.DataType).First().Name.Parts[0]);
  37. ???????????????writer.WriteElementString("ShoWorder","1");
  38. ???????????????writer.WriteEndElement();
  39. ?
  40. ????????????}
  41. ?????????writer.WriteEndElement();
  42. ?????????break;
  43. ??????}
  44. ?
  45. ?}
  46. ?writer.WriteEndElement();
  47. ?writer.WriteEndDocument();
  48. writer.Close();
  49. string xml = Encoding.UTF8.GetString(ms.ToArray());
  50. Console.WriteLine(xml);
  51. //tableScripts.Dump();

?

?

?

?


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄石市| 大兴区| 万州区| 和静县| 天全县| 桂林市| 杭州市| 福鼎市| 确山县| 临澧县| 辽中县| 子长县| 昌邑市| 渝北区| 拉孜县| 宜阳县| 都匀市| 刚察县| 斗六市| 娄烦县| 四平市| 大新县| 井研县| 伊宁市| 略阳县| 龙川县| 济阳县| 姜堰市| 新巴尔虎左旗| 辽阳县| 汾阳市| 镇宁| 涡阳县| 龙里县| 黔西| 大兴区| 丘北县| 萨嘎县| 冕宁县| 咸阳市| 德化县|