/// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="database">数据库名</param>
 /// <param name="tableName">表名</param>
 /// <param name="lstModels">要修改的字段集合</param>
 public DataBaseCoreHost(HostDatabase database, string tableName, List <AlterTableModel> lstModels)
 {
     Database               = database;
     this.lstModels         = lstModels;
     this.DatabaseTableName = tableName;
 }
示例#2
0
        /// <summary>
        /// 写入脚本
        /// </summary>
        /// <param name="platform"></param>
        private void WriteCreateDBTableScript(int platform = 1)
        {
            string       t4FilePath   = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, T4Consts.FILE_Folder, T4Consts.DB_TABLE_CREATE_FILE_NAME);
            HostDatabase hostDatabase = new HostDatabase();

            hostDatabase.Name = txt_DatabaseName.Text;
            DataBaseCoreHost host           = new DataBaseCoreHost(hostDatabase);
            string           scriptFileName = string.Empty;

            switch (platform)
            {
            case 1:     //.Net Standard
            {
                Air.CodeGeneration.Data.Core.Model.Database database = new Air.CodeGeneration.Data.Core.Model.Database()
                {
                    Name = txt_DatabaseName.Text
                };
                database.TableItems = new List <DatabaseTable>();
                foreach (DataGridViewRow row in dgv_Dll.Rows)
                {
                    if (row.Cells["Col_Name"].Value.ToString() == "全选")
                    {
                        continue;
                    }
                    if (row.Cells["Col_Sel"].Value.ToString() == "false")
                    {
                        continue;
                    }
                    scriptFileName = row.Cells["Col_Name"].Value.ToString();
                    string tableName = row.Cells["Col_Name"].Value.ToString();
                    T4EngineHelper.SetCoreDataBaseTableItems(tableName, database, _lst_Types);
                }
                if (database.TableItems.Count <= 0)
                {
                    return;
                }
                // hostDatabase.TableItems = database.TableItems.MapTo(new List<HostDatabaseTable>());
                // var mapper = new Mapper(Mapper.Configuration);
                hostDatabase.TableItems = Mapper.Map <List <HostDatabaseTable> >(database.TableItems);
                break;
            }

            case 2:      //Framework
            {
                Air.CodeGeneration.Data.Model.Database database = new Air.CodeGeneration.Data.Model.Database()
                {
                    Name = txt_DatabaseName.Text
                };
                database.TableItems = new List <Air.CodeGeneration.Data.Model.DatabaseTable>();
                foreach (DataGridViewRow row in dgv_Dll.Rows)
                {
                    if (row.Cells["Col_Name"].Value.ToString() == "全选")
                    {
                        continue;
                    }
                    if (row.Cells["Col_Sel"].Value.ToString() == "false")
                    {
                        continue;
                    }
                    scriptFileName = row.Cells["Col_Name"].Value.ToString();
                    string tableName = row.Cells["Col_Name"].Value.ToString();
                    T4EngineHelper.SetDataBaseTableItems(tableName, database, _lst_Types);
                }
                if (database.TableItems.Count <= 0)
                {
                    return;
                }
                //hostDatabase.TableItems = database.TableItems.MapTo(new List<HostDatabaseTable>());
                hostDatabase.TableItems = Mapper.Map <List <HostDatabaseTable> >(database.TableItems);
                break;
            }

            default:
                throw new Exception($"参数[{nameof(platform)}]值有误!");
            }
            string output = Path.Combine(txt_Output.Text, scriptFileName + ".sql");

            rtb_Script.Text = T4EngineHelper.ProcessTemplate(t4FilePath, host, output, LogWrite);
        }
 public DataBaseCoreHost(HostDatabase database)
 {
     Database = database;
 }