protected override void Execute() { DatabaseSchemaReader r = this.DatabaseSchemaReader; var names = this.Names; var totalCount = names.Count; var tt = new List <Table>(); var ss = new List <MetaData.StoredProcedure>(); for (int i = 0; i < totalCount; i++) { var name = names[i]; var t = r.GetTable(name); var tExisted = this.SchemaData.Tables.FirstOrDefault(el => el.Name == t.Name); if (tExisted == null) { tt.Add(t); } else { foreach (var parameter in t.Columns) { var p = tExisted.Columns.Find(el => el.Name == parameter.Name); if (p == null) { continue; } parameter.EnumName = p.EnumName; parameter.EnumValues = p.EnumValues; } tt.Add(t); } //CRUD用のストアドをDBに追加 ss.AddRange(this.AddStoredProcedure(t)); this.OnProcessProgress(new ProcessProgressEventArgs(t.Name, i / totalCount)); } //スキーマファイルに追加 this.AddOrReplace(this.SchemaData.Tables, tt, (item, element) => item.Name == element.Name); this.AddOrReplace(this.SchemaData.StoredProcedures, ss, (item, element) => item.Name == element.Name); this.SchemaData.LastExecuteTimeOfImportTable = DateTime.Now; }