public void BuildProxies(ProxyModel model) { _ = model ?? throw new ArgumentNullException("model is required."); var session = new TextTemplatingSession { ["Namespace"] = Settings?.Namespace ?? "Proxy", ["Model"] = model }; Host host = new Host(Settings, session); host.Message += (sender, args) => { RaiseMessage(args.Message); }; string input = File.ReadAllText(host.TemplateFile); var engine = new Mono.TextTemplating.TemplatingEngine(); var output = engine.ProcessTemplate(input, host); if (host.Errors.Count > 0) { foreach (var error in host.Errors) { RaiseMessage(error.ToString(), "", eMessageType.Error); } return; } var defaultFileName = Path.ChangeExtension( Path.Combine( host.OutputPath, Path.GetFileName(host.TemplateFile)), host.FileExtension); if (output?.Length > 0) { CreateFile(defaultFileName, output); } else if (File.Exists(defaultFileName)) { RaiseMessage(string.Format("Deleting {0}.", defaultFileName), "", eMessageType.Info); File.Delete(defaultFileName); } }
static void Main(string[] args) { Console.WriteLine("Hello World!"); string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "基础平台\\后台代码\\TextTemplate1.tt"); string input = File.ReadAllText(path, Encoding.UTF8); var cGHost = new MultipleTableTextTemplatingEngineHost() { ClassPrefix = "Test", Developers = "侯向阳", NameSpace = "ZJJW", TablePrefix = "CG_", TemplateFile = path, SaveFolder = "Order", Tables = new TableInfo[] { new TableInfo() { TableName = "CG_OrderInfo", Description = "订单主表", Columns = new ColumnInfo[] { new ColumnInfo() { ColumnName = "ID", Description = "标识", IsForeignKey = false, IsIdentity = false, IsPrimaryKey = true, Nullable = false, TypeName = "varchar", Length = "36", DefaultVal = null, Precision = null }, new ColumnInfo() { ColumnName = "OrderNo", Description = "订单号", IsForeignKey = false, IsIdentity = false, IsPrimaryKey = false, Nullable = false, TypeName = "varchar", Length = "36", DefaultVal = null, Precision = null } } }, new TableInfo() { Description = "订单详情表", TableName = "CG_OrderDetail", Columns = new ColumnInfo[] { new ColumnInfo() { ColumnName = "ID", Description = "标识", IsForeignKey = false, IsIdentity = false, IsPrimaryKey = true, Nullable = false, TypeName = "varchar", Length = "36", DefaultVal = null, Precision = null }, new ColumnInfo() { ColumnName = "OrderNo", Description = "订单号", IsForeignKey = true, IsIdentity = false, IsPrimaryKey = false, Nullable = false, TypeName = "varchar", Length = "36", DefaultVal = null, Precision = null, ForeignKeyTable = "CG_OrderInfo", ForeignKeyTableColumn = "OrderNo", relationship = 2 } } } } }; var content = new Mono.TextTemplating.TemplatingEngine().ProcessTemplate(input, cGHost ); }