/// <summary> /// 获取当前选中的表 /// </summary> /// <returns></returns> List <TableContext> GetSelectedTableList() { var list = new List <TableContext>(); foreach (TreeNode dbNode in this.tvTrees.Nodes) { foreach (TreeNode node in dbNode.Nodes) { if (node.Checked) { //list.AddRange(GlobalContext.TableContexts.Where(p => p.Name.Equals(node.Name))); var currentSelectTableContext = new TableContext() { Name = node.Name, DataBaseName = node.Parent.Name }; list.Add(currentSelectTableContext); } } } return(list); }
/// <summary> /// 根据数据名获取所有表集合 /// </summary> /// <param name="databaseName"></param> /// <returns></returns> public static List <TableContext> GetTableContextListByDataBaseName(string databaseName) { var list = new List <TableContext>(); const string sql = @"SELECT sysobject.name,extendpro.value FROM sysobjects AS sysobject LEFT JOIN sys.extended_properties AS extendpro ON sysobject.id=extendpro.major_id AND extendpro.minor_id=0 AND extendpro.name='MS_Description' WHERE sysobject.xtype ='u' order by sysobject.NAME "; var cmd = new SqlCommand(sql); using (var dataReader = new SqlDatabase(DataBaseConnectionConfig.GetDataBaseConnectionString(databaseName)).ExecuteReader(cmd)) { // Processing code while (dataReader.Read()) { var table = new TableContext(); table.Name = dataReader.GetString(0); table.Description = dataReader.GetValue(1) == null ?string.Empty:dataReader.GetValue(1).ToString(); //table.ColumnList = GetColumnContextListByTableName(table.TableName); list.Add(table); } } return(list); }
/// <summary> /// 生成Domain(领域模型) Entity(实体类) /// </summary> /// <param name="table"></param> void GeneratorDomainEntity(TableContext table) { string templatePath = Path.Combine(GlobalContext.ApplicationStartPath, GlobalContext.DomainEntityTemplateUrl); //获取模板 StringBuilder domainEntityTemplate = Tools.GetTemplate(templatePath); var nameSpace = this.txtNameSpace.Text.Trim(); //GlobalContext.Domain + ".Entities." + GlobalContext.CurrentConfigNameSpace; //替换命名空间 domainEntityTemplate.Replace(GlobalContext.NameSpace, nameSpace); //替换类名 domainEntityTemplate.Replace(GlobalContext.TableName, table.Name); //替换属性列表 var strList = new StringBuilder(); foreach (var column in table.ColumnList) { strList.AppendLine("/// <summary>"); strList.AppendLine("///" + column.NameDescription); strList.AppendLine("/// </summary>"); strList.AppendLine("public " + Tools.ConvertVSTypeToString(column.DateType) + " " + column.Name + " { get; set; }"); strList.AppendLine(); } //替换属性列表 domainEntityTemplate.Replace(GlobalContext.ProPertyList, strList.ToString()); //替换数据库属性列表 domainEntityTemplate.Replace(GlobalContext.DatabaseTag, this.FilterDataBaseName(table.DataBaseName)); //写入文件的文件夹路径 string fileWriterFolderPath = Path.Combine(GlobalContext.ApplicationStartPath + "\\CodeGenerator", nameSpace.Replace('.', '\\')); var fileWriterFilePath = fileWriterFolderPath + "\\" + table.Name + "PO.cs"; Tools.CheckDirectory(fileWriterFolderPath); Tools.WriterTemplateFile(domainEntityTemplate, fileWriterFilePath); }
/// <summary> /// 获取当前连接所有表集合 /// </summary> /// <returns></returns> public static List <TableContext> GetCurrentDatabaseAllTableContextList() { var list = new List <TableContext>(); const string sql = @" SELECT name FROM sysobjects WHERE xtype ='u' order by name"; var cmd = new SqlCommand(sql); using (var dataReader = _db.ExecuteReader(cmd)) { // Processing code while (dataReader.Read()) { var table = new TableContext(); table.Name = dataReader.GetString(0); //table.ColumnList = GetColumnContextListByTableName(table.TableName); list.Add(table); } } return(list); }
/// <summary> /// 根据数据名获取所有表集合 /// </summary> /// <param name="databaseName"></param> /// <returns></returns> public static List<TableContext> GetTableContextListByDataBaseName(string databaseName) { var list = new List<TableContext>(); const string sql = @"SELECT sysobject.name,extendpro.value FROM sysobjects AS sysobject LEFT JOIN sys.extended_properties AS extendpro ON sysobject.id=extendpro.major_id AND extendpro.minor_id=0 AND extendpro.name='MS_Description' WHERE sysobject.xtype ='u' order by sysobject.NAME "; var cmd = new SqlCommand(sql); using (var dataReader = new SqlDatabase(DataBaseConnectionConfig.GetDataBaseConnectionString(databaseName)).ExecuteReader(cmd)) { // Processing code while (dataReader.Read()) { var table = new TableContext(); table.Name = dataReader.GetString(0); table.Description = dataReader.GetValue(1)==null ?string.Empty:dataReader.GetValue(1).ToString(); //table.ColumnList = GetColumnContextListByTableName(table.TableName); list.Add(table); } } return list; }
/// <summary> /// 获取当前连接所有表集合 /// </summary> /// <returns></returns> public static List<TableContext> GetCurrentDatabaseAllTableContextList() { var list = new List<TableContext>(); const string sql = @" SELECT name FROM sysobjects WHERE xtype ='u' order by name"; var cmd = new SqlCommand(sql); using (var dataReader = _db.ExecuteReader(cmd)) { // Processing code while (dataReader.Read()) { var table = new TableContext(); table.Name = dataReader.GetString(0); //table.ColumnList = GetColumnContextListByTableName(table.TableName); list.Add(table); } } return list; }
/// <summary> /// 获取当前选中的表 /// </summary> /// <returns></returns> List<TableContext> GetSelectedTableList() { var list = new List<TableContext>(); foreach (TreeNode dbNode in this.tvTrees.Nodes) { foreach (TreeNode node in dbNode.Nodes) { if (node.Checked) { //list.AddRange(GlobalContext.TableContexts.Where(p => p.Name.Equals(node.Name))); var currentSelectTableContext = new TableContext() { Name = node.Name, DataBaseName = node.Parent.Name }; list.Add(currentSelectTableContext); } } } return list; }