コード例 #1
0
 public void AddMappingTable(KeyValue mappingTable)
 {
     _db.AddMappingTable(new SqlSugar.KeyValue()
     {
         Key = mappingTable.Key, Value = mappingTable.Value
     });
 }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
 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);
     }
 }
コード例 #4
0
        /// <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);
        }