public static void GeneratedCode(KeelExt.ModelKind mk) { Common.ShowInfo("正在检查数据库是否可用!"); if (Kit.CheckDataBase()) { Common.ShowInfo("正在从数据库中读取表信息..."); EnvDTE.Project pjt = Kit.GetProjectModel(); List <SQLTableInfo> dbix = GetSqlTableInfoList(); string[] lsttab = (Kit.SlnKeel.DataTables + Kit.SlnKeel.DataViews).Split(";".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); string keelcpp = null; foreach (var item in lsttab) { #region 生成一个model tablenamenow = item; Common.ShowInfo(string.Format("正在生成{0}的实体,请稍候...", tablenamenow)); Predicate <SQLTableInfo> pdbi = new Predicate <SQLTableInfo>(FindByTableName); List <SQLTableInfo> lstdb = dbix.FindAll(pdbi); ModelGengerator mg = new ModelGengerator(Kit.GetRootNamespace(pjt), item); if (mk == KeelExt.ModelKind.DotNetAndC) { mg.AddStruct(tablenamenow); mg.AddFunForStructModel(); } foreach (var tableitem in lstdb) { mg.AddProperty(tableitem, mk); mg.AddTableNameConst(tableitem.t_fieldname, tableitem.t_tabledesc); } mg.AddCtor(lstdb, mk); cfLangType cl = Kit.GetProjectLangType(pjt); string filename = mg.Save(pjt.FullName, cl); AddFileToProject(pjt, filename); if (cl == cfLangType.CPP) { keelcpp += string.Format("#include \"{0}\"", new System.IO.FileInfo(filename).Name) + Environment.NewLine; } Common.ShowInfo(string.Format("恭喜!{0}的实体保存完毕!", tablenamenow)); #endregion } ForCpptoDo(pjt, keelcpp); Common.ShowInfo(string.Format("全部实体生成完毕,开始生产DBContext")); GenDAL(lsttab); Common.ShowInfo(string.Format("KeelKit所需生成的内容生成完毕!")); } }
public static void GeneratedCode(DCreateControl dc, string fieldlist, string tablename) { Common.ShowInfo("正在检查数据库是否可用!"); if (Kit.CheckDataBase()) { Common.ShowInfo("正在从数据库中读取表信息..."); EnvDTE.Project pjt = Kit.GetProjectComponent(); List <SQLTableInfo> dbix = ModelGengerator.GetSqlTableInfoList(); SQLTableInfo[] dbix_111 = dbix.ToArray(); if (fieldlist != null && fieldlist != "" && tablename != null && tablename != "") { var xf = from f in dbix_111 where f.t_tablename.ToLower() == tablename.ToLower() && fieldlist.Contains(f.t_fieldname + ";") select f; dbix = xf.ToList(); } string[] lsttab = ((tablename != null) ? tablename + ";" : (Kit.SlnKeel.DataTableForms + Kit.SlnKeel.DataViewForms)).Split(";".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); foreach (var item in lsttab) { CreateControlByTable(dc, pjt, dbix, item, item + (fieldlist != null ? "_diy_" + fieldlist.Replace(";", "") : "")); } Common.chExc("SaveAll", ""); Common.ShowInfo(string.Format("全部控件生成完毕!")); } }
public static List <SQLTableName> GetSPNameList() { return(ModelGengerator.GetSQLList("SPInfo")); }