国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 南江县| 浦北县| 航空| 孟州市| 五华县| 同德县| 茌平县| 新闻| 新余市| 金昌市| 镇赉县| 即墨市| 秭归县| 襄城县| 乌兰察布市| 进贤县| 和林格尔县| 扬中市| 冀州市| 彭水| 崇左市| 朝阳区| 纳雍县| 扎兰屯市| 夏河县| 洪雅县| 喜德县| 安龙县| 城口县| 安陆市| 辛集市| 延安市| 大悟县| 拜城县| 平南县| 台江县| 璧山县| 漠河县| 诸暨市| 扎鲁特旗| 兴化市|