Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        /// <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);
        }
Ejemplo n.º 5
0
        /// <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;
        }
Ejemplo n.º 6
0
        /// <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;
        }
Ejemplo n.º 7
0
        /// <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;
        }
Ejemplo n.º 8
0
        /// <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);
        }