public static void Build(string outputdir, string projName) { if (string.IsNullOrEmpty(outputdir) || string.IsNullOrEmpty(projName)) { throw new ArgumentNullException("outputdir 和 projName", "不能为空"); } outputDir = outputdir; projectName = projName; CreateDir(); CreateCsproj(); EnumsDal.Generate(Path.Combine(outputdir, projName + ".db"), modelPath, GeneralFactory.projectName); List <string> schemaList = SchemaDal.Get_List(); foreach (var schemaName in schemaList) { Console.WriteLine("正在生成模式:{0}", schemaName); List <TableViewModel> tableList = GetTables(schemaName); foreach (var item in tableList) { Console.WriteLine("{0}:{1}", item.type, item.name); TablesDal td = new TablesDal(GeneralFactory.projectName, modelPath, dalPath, schemaName, item); td.Generate(); } } }
public void LoadTablesAsync(Server server) { _currentServer = server; tv.Nodes.Clear(); Task.Factory.StartNew(() => { try { using (var db = new AppDb(server.GetInformation_chemaConnectString())) { db.Open(); TablesDal dal = new TablesDal(db); List <TableModel> modelList = dal.GetListBySchemaName(server.DbName); this.Invoke(new Action(() => { SetUI(server, modelList); this.TabText = "数据库"; })); } } catch (Exception ex) { this.Invoke(new Action(() => { this.TabText = "数据库"; MsgBox.Error(string.Format("[{0}]:加载表异常!\n{1}", server.DbName, ex.Message)); })); } }); this.TabText = "loading..."; }
private void CreateModels(List <SchemaViewModel> schemas) { foreach (var item in schemas) { Console.WriteLine("building:{0}", item.Name); foreach (var table in item.Tables) { Console.WriteLine("{0}:{1}", table.Type, table.Name); TablesDal td = new TablesDal(projectName, modelPath, schemaPath, dalPath, item.Name, table); td.Create(); } } }