Esempio n. 1
0
        //批量生成->本地(持久化操作)
        private void btnBatchSaveLocal_Click(object sender, EventArgs e)
        {
            try
            {
                string        nameSpace = tbxNameSpace.Text.Trim();                                                           //命名空间
                enumTableType tableType = (enumTableType)Enum.Parse(typeof(enumTableType), cbxTable.SelectedItem.ToString()); //当前选中的类型值

                //获取当前库中的所有表(当前只做基础表,稍后将该选项抛给前端选择。)
                TableInfoBll     tableInfoBll  = new TableInfoBll();
                ColumnInfoBll    columnInfoBll = new ColumnInfoBll();
                List <TableInfo> listTables    = tableInfoBll.FindTableInfoByTableType(tableType);
                foreach (var item in listTables)
                {
                    //Model持久化
                    //获取生成的内容
                    string generateContent = columnInfoBll.DynamicGenerateModel(item.TableName, nameSpace);
                    //缓存内容持久化(保存)到本地
                    string pathModel     = string.Format("{0}/Model", AppDomain.CurrentDomain.BaseDirectory);                        //模型管理目录
                    string pathModelFile = string.Format("{0}/Model/{1}.cs", AppDomain.CurrentDomain.BaseDirectory, item.TableName); //模型文件
                    if (!Directory.Exists(pathModel))
                    {
                        //不存在
                        Directory.CreateDirectory(pathModel);
                    }
                    File.WriteAllText(pathModelFile, generateContent, Encoding.UTF8);//写入操作
                }
                MessageBox.Show("数据持久化成功,请前往应用程序所在的目录下查看!");
            }
            catch (Exception)
            {
                MessageBox.Show("数据持久化失败!");
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 根据表的类型 返回数据库中表的列表
        /// </summary>
        /// <param name="type">表的类型</param>
        /// <returns></returns>
        public List <TableInfo> FindTableInfoByTableType(enumTableType type)
        {
            List <TableInfo> list = null;
            TableInfoDal     dal  = new TableInfoDal();

            switch (type)
            {
            case enumTableType.全部:
                list = dal.FindAll();
                break;

            case enumTableType.基础表:
                list = dal.FindBasicTable();
                break;

            case enumTableType.视图:
                list = dal.FindViewTable();
                break;

            default:
                list = new List <TableInfo>();
                break;
            }
            return(list);
        }
Esempio n. 3
0
        //表类型 更改事件
        private void cbxTable_SelectedIndexChanged(object sender, EventArgs e)
        {
            //当前选中的值
            enumTableType tableType = (enumTableType)Enum.Parse(typeof(enumTableType), cbxTable.SelectedItem.ToString());
            //获取当前类型的表 信息列表
            TableInfoBll     tableInfoBll  = new TableInfoBll();
            List <TableInfo> listTableInfo = tableInfoBll.FindTableInfoByTableType(tableType);
            //要操作的类型下的表 列表
            string contentTableInfo = string.Join(Environment.NewLine, listTableInfo.Select(p => p.TableName).ToArray());

            tbxContent.Text = contentTableInfo;
        }
Esempio n. 4
0
        private enumTableType GetTableType()
        {
            enumTableType ret = enumTableType.Basic;

            switch (cboTableType.SelectedItem.ToString())
            {
            case "Relation_1_To_N":
                ret = enumTableType.Relation_1_To_N;
                break;

            case "Relation_N_To_N":
                ret = enumTableType.Relation_N_To_N;
                break;

            case "Dictionary":
                ret = enumTableType.Dictionary;
                break;
            }

            return(ret);
        }