从DACPAC文件中读取元数据
SQL数据库项目生成时会生成dacpac文件,可从中读出所需的元数据,进行一些转换(如生成数据字典)
- var model = new TSqlModel(@"D:\kljob\CardLan\CardLanDB\bin\Debug\cardlandb.dacpac");
- XmlWriterSettings settings = new XmlWriterSettings();
- settings.Indent = true;
- settings.Encoding = new UTF8Encoding(false);
- settings.NewLineChars = Environment.NewLine;
- MemoryStream ms = new MemoryStream();
- XmlWriter writer=XmlWriter.Create(ms,settings);
- int startID=31;
- writer.WriteStartDocument();
- writer.WriteStartElement("root");
- foreach (var s in
new ModelTypeClass[]{ModelSchema.Procedure ,ModelSchema.View}){ - var allTables = model.GetObjects(DacQueryScopes.UserDefined,s );
- var tableScripts = from t in allTables
- select t ;
- foreach(var x in tableScripts){
- writer.WriteStartElement("QueryObject");
- writer.WriteElementString("ObjectID",startID++.ToString());
- writer.WriteElementString("SourceType", x.ObjectType.Name);
- writer.WriteElementString("ObjectName", x.Name.Parts[1]);
- writer.WriteElementString("Remark","");
- int id=0;
- foreach(var c in x.GetChildren())
- {
- writer.WriteStartElement("QueryObjectCols");
- writer.WriteElementString("Title",c.Name.Parts[2]);
- writer.WriteElementString("ObjColID",id++.ToString());
- writer.WriteElementString("Field",c.Name.Parts[2]);
- writer.WriteElementString("");
- writer.WriteElementString("");
- if(s==ModelSchema.Procedure)
- writer.WriteElementString("ValueType",c.GetReferenced(Parameter.DataType).First().Name.Parts[0]);
- else
- writer.WriteElementString("ValueType",c.GetReferenced().First().GetReferenced(Column.DataType).First().Name.Parts[0]);
- writer.WriteElementString("");
- writer.WriteEndElement();
- }
- writer.WriteEndElement();
- break;
- }
- }
- writer.WriteEndElement();
- writer.WriteEndDocument();
- writer.Close();
- string xml = Encoding.UTF8.GetString(ms.ToArray());
- Console.WriteLine(xml);
- //tableScripts.Dump();
从DACPAC文件中读取元数据的更多相关文章
- 条形码的应用三-----------从Excel文件中读取条形码
条形码的应用三------从Excel文件中读取条形码 介绍 上一篇文章,我向大家展示了生成多个条形码并存储到Excel文件中的一个方法.后来我又有了个想法:既然条码插入到excel中了,我可不可以从 ...
- Servlet从本地文件中读取图片,并显示在页面中
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpSer ...
- 文件_ _android从资源文件中读取文件流并显示的方法
======== 1 android从资源文件中读取文件流并显示的方法. 在android中,假如有的文本文件,比如TXT放在raw下,要直接读取出来,放到屏幕中显示,可以这样: private ...
- 在C#中用Linq从属性文件中读取键值对Key-Value Pair
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:在C#中用Linq从属性文件中读取键值对Key-Value Pair.
- Python3 将configparser从ini文件中读取的内容转换成字典格式
因为写脚本的用到了,所以研究了下怎么将configparser从ini文件中读取的内容转换成字典格式. 整理一下,希望能对大家有帮助. 从http://stackoverflow.com/questi ...
- Python3实现从文件中读取指定行的方法
from:http://www.jb51.net/article/66580.htm 这篇文章主要介绍了Python3实现从文件中读取指定行的方法,涉及Python中linecache模块操作文件的使 ...
- Java将对象保存到文件中/从文件中读取对象
1.保存对象到文件中 Java语言只能将实现了Serializable接口的类的对象保存到文件中,利用如下方法即可: public static void writeObjectToFile(Obje ...
- 从Excel文件中读取内容
从Excel文件中读取内容 global::System.Web.HttpPostedFileBase file = Request.Files["txtFile"]; strin ...
- java从文件中读取数据然后插入到数据库表中
实习工作中,完成了领导交给的任务,将搜集到的数据插入到数据库中,代码片段如下: static Connection getConnection() throws SQLException, IOExc ...
随机推荐
- Wo的书单
一个人,一生之中总要有几本证明自己的书. 2016---08 <ASP.NET MVC5 高级编程(第五版)> <数据结构(C语言第二版)>
- MVC知识进阶01
下面是在项目中有关于MVC的知识总结,有些地方若不对,请指出. 一:MVC的基本知识 1 名词解释 *惯例优先原则<约定大于配置>:是一种开发设计模式,说是在项目里面使用事先规定的命 ...
- 数论 - 筛法暴力打表 --- hdu : 12876 Quite Good Numbers
Quite Good Numbers Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit ...
- MyEclipse10修改servlet模版
Myeclipse10中servlet模版存放的位置与早些的版本不同,它存放在: MyEclipse\Common\plugins中的下面那个jar包中 com.genuitec.eclipse.wi ...
- 市面上常见的javaEE WEB服务软件
常见的市面上web服务软件 Tomcat:轻量级的WEB应用程序服务器(开源),开源组织Apache的产品.免费的.支持部分的JavaEE规范.(servlet.jsp.jdbc,但ejb, rmi不 ...
- 通过RODBC包操作mysql数据库
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理.---百度百科 1. MySQL安装 官网下载 ...
- ActiveMQ 简介与安装
一. 概述与介绍 ActiveMQ 是Apache出品,最流行的.功能强大的即时通讯和集成模式的开源服务器.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provide ...
- Perfect Scrollbar – 完美的 jQuery 滚动条插件
Perfect Scrollbar 是一个很小的,但完美的 jQuery 滚动插件.滚动条不会影响原来的设计布局,滚动条的设计是完全可定制的.你可以改变几乎所有的 CSS 样式的滚动条,滚动条设计对脚 ...
- go语言 类型:数组切片
初看起来,数组切片就像一个指向数组的指针,实际上它拥有自己的数据结构,而不仅仅是个指针.数组切片的数据结构可以抽象为以下3个变量: 1.一个指向原生数组的指针: 2.数组切片中的元素个数: 3.数组切 ...
- 自定义easyui整数或者数字、字母或者下划线验证方法
$.extend($.fn.validatebox.defaults.rules, { intOrFloat: {// 验证整数或小数 validator: function (value) { re ...