public void AddMappingTable(KeyValue mappingTable) { _db.AddMappingTable(new SqlSugar.KeyValue() { Key = mappingTable.Key, Value = mappingTable.Value }); }
/// <summary> /// 生成T4模板 /// </summary> public static void RunT4() { Console.WriteLine("开始生产T4------模板"); try { //获取appsettings.json路径 string path = Path.GetFullPath("../../../..") + "\\ZC.Platform.API\\appsettings.json "; //获取Json报文 string json = GetFileJson(path); //利用json获取连接字符串路径 JObject ad = JObject.Parse(json); string ConnectionString = ad["ConnectionStrings"]["DefaultConnection"].ToString(); using (var db = new SqlSugarClient(ConnectionString)) { //生成到ZC.Platform.Model层之下 string modelPath = Path.GetFullPath("../../../..") + "\\ZC.Platform.Model"; //编写新模板 db.ClassGenerating.ForeachTables(db, tableName => { // string model = $"{modelPath}\\{tableName}.cs"; db.AddMappingTable(new KeyValue() { Key = tableName.ToUpper(), Value = tableName }); #region 废弃 //var kvList = new List<KeyValue>(); //var columsList = db.ClassGenerating.GetTableColumns(db, tableName); //foreach (var item in columsList) //{ // // kvList.Add(GetNewKV(item.COLUMN_NAME.ToString(), item.COLUMN_NAME.ToString())); // db.AddMappingColumn(GetNewKV(item.COLUMN_NAME.ToString(), item.COLUMN_NAME.ToString())); //} #endregion }); //删除所有.cs文件 非通用方法 DeleteAllCS(modelPath); //建立全部 db.ClassGenerating.CreateClassFiles(db, modelPath, "ZC.Platform.Model"); } Console.WriteLine("生成成功!"); } catch (Exception ex) { Console.WriteLine($"发生错误{ex.Message}"); Console.ReadKey(); } Console.WriteLine("1秒后退出"); Exit(1); }
public void testAddTable() { try { SqlSugarClient dao = sugarDao.GetDao(); dao.ClassGenerating.ForeachTables(dao, tableName => { var className = tableName.Replace(".", "_"); className = className.Substring(0, 1).ToUpper() + className.Substring(1); dao.AddMappingTable(new KeyValue() { Key = className, Value = tableName }); }); dao.ClassGenerating.CreateClassFiles(dao, (@"D:\生成表MemberCacheForCsharpModel\DB"), "MemberCacheForCsharp.Model"); } catch (Exception ex) { Console.WriteLine(ex); } }
/// <summary> /// 生成T4模板 /// </summary> public static void RunT4() { Console.WriteLine("开始生产T4------模板"); try { //获取appsettings.json路径 string path = Path.GetFullPath("../../../..") + "\\ZC.Platform.API\\appsettings.json "; //获取Json报文 string json = GetFileJson(path); //利用json获取连接字符串路径 JObject ad = JObject.Parse(json); string ConnectionString = ad["ConnectionStrings"]["PekoPekoConnection"].ToString(); using (var db = new SqlSugarClient(ConnectionString)) { //生成到ZC.Platform.Model层之下 string modelPath = Path.GetFullPath("../../../..") + "\\ZC.Platform.Model"; string baseModelPath = Path.GetFullPath("../../../..") + "\\ZC.Platform.API\\BaseModel"; //删除baseModel模板 DeleteAllCS(baseModelPath); //编写新模板 db.ClassGenerating.ForeachTables(db, tableName => { // string model = $"{modelPath}\\{tableName}.cs"; db.AddMappingTable(new KeyValue() { Key = tableName.ToUpper(), Value = tableName }); //获取生成BaseModel模板 var tableModelTemplate = NewKey(db.ClassGenerating.TableNameToClass(db, tableName.ToUpper()), tableName.ToUpper(), false) .Replace('~', '_').Replace("namespace System", "namespace ZC.Platform.API.BaseModel"); while (tableName.IndexOf('_') != -1) { tableName = tableName.Remove(tableName.IndexOf('_'), 1); } tableName += "Base"; //去T tableName = tableName.Substring(1, tableName.Length - 1); CreateFile(baseModelPath.TrimEnd('\\') + "\\" + tableName.ToUpper() + ".cs", tableModelTemplate, Encoding.UTF8); Console.WriteLine(); #region 废弃 //var kvList = new List<KeyValue>(); //var columsList = db.ClassGenerating.GetTableColumns(db, tableName); //foreach (var item in columsList) //{ // // kvList.Add(GetNewKV(item.COLUMN_NAME.ToString(), item.COLUMN_NAME.ToString())); // db.AddMappingColumn(GetNewKV(item.COLUMN_NAME.ToString(), item.COLUMN_NAME.ToString())); //} #endregion }); //删除所有.cs文件 非通用方法 DeleteAllCS(modelPath); //建立全部 db.ClassGenerating.CreateClassFiles(db, modelPath, "ZC.Platform.Model"); } Console.WriteLine("生成成功!"); } catch (Exception ex) { Console.WriteLine($"发生错误{ex.Message}"); Console.ReadKey(); } Console.WriteLine("1秒后退出"); Exit(1); }