/// <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; }
/// <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; }