private void btnCreateDb_Click(Object sender, EventArgs e) { if (cbConn.SelectedItem == null) { return; } var dal = DAL.Create("" + cbConn.SelectedItem); if (dal == null) { return; } try { var md = dal.Db.CreateMetaData(); var set = new NegativeSetting(); set.CheckOnly = false; set.NoDelete = false; md.SetTables(set, Tables.ToArray()); MessageBox.Show("成功建立" + Tables.Count + "张数据表!", Text); } catch (Exception ex) { MessageBox.Show("建表失败!" + Environment.NewLine + ex.Message, Text); } }
/// <summary>实例化设置</summary> public Setting() { Debug = true; ShowSQL = true; SQLPath = ""; ConnMaps = "Conn2#Conn,Table3@Table"; InitData = true; Cache = new CacheSetting(); Negative = new NegativeSetting(); //Model = new ModelSetting(); Oracle = new OracleSetting(); }
private void CheckTable() { //if (Dal.CheckAndAdd(TableName)) return; #if DEBUG DAL.WriteLog("开始{2}检查表[{0}/{1}]的数据表架构……", Table.DataTable.Name, Dal.Db.DbType, Setting.Current.Negative.CheckOnly ? "异步" : "同步"); #endif var sw = new Stopwatch(); sw.Start(); try { // 检查新表名对应的数据表 var table = Table.DataTable; // 克隆一份,防止修改 table = table.Clone() as IDataTable; if (table != null && table.TableName != TableName) { FixIndexName(table); table.TableName = TableName; } var set = new NegativeSetting { CheckOnly = Setting.Current.Negative.CheckOnly, NoDelete = Setting.Current.Negative.NoDelete }; // 对于分库操作,强制检查架构,但不删除数据 if (Default != this) { set.CheckOnly = false; set.NoDelete = true; } Dal.SetTables(set, table); } finally { sw.Stop(); #if DEBUG DAL.WriteLog("检查表[{0}/{1}]的数据表架构耗时{2:n0}ms", Table.DataTable.Name, Dal.DbType, sw.Elapsed.TotalMilliseconds); #endif } }
/// <summary>实例化设置</summary> public Setting() { Negative = new NegativeSetting(); Oracle = new OracleSetting(); }