using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SqlSugar { public class RazorFirst { internal List> ClassStringList { get; set; } public static string DefaultRazorClassTemplate = @"using System; using System.Linq; using System.Text; using SqlSugar; namespace @Model.Namespace { /// /// /// public partial class @Model.ClassName { public @(Model.ClassName)(){ } @foreach (var item in @Model.Columns) { if(item.IsPrimarykey&&item.IsIdentity){ @:/// @:/// Desc:@item.ColumnDescription @:/// Default:@item.DefaultValue @:/// Nullable:@item.IsNullable @:/// @:[SqlSugar.SugarColumn(IsPrimaryKey = true, IsIdentity = true)] @:public @item.DataType @item.DbColumnName {get;set;} } else if(item.IsPrimarykey) { @:/// @:/// Desc:@item.ColumnDescription @:/// Default:@item.DefaultValue @:/// Nullable:@item.IsNullable @:/// @:[SqlSugar.SugarColumn(IsPrimaryKey = true)] @:public @item.DataType @item.DbColumnName {get;set;} } else if(item.IsIdentity) { @:/// @:/// Desc:@item.ColumnDescription @:/// Default:@item.DefaultValue @:/// Nullable:@item.IsNullable @:/// @:[SqlSugar.SugarColumn(IsIdentity = true)] @:public @item.DataType @item.DbColumnName {get;set;} } else { @:/// @:/// Desc:@item.ColumnDescription @:/// Default:@item.DefaultValue @:/// Nullable:@item.IsNullable @:/// @:public @item.DataType @item.DbColumnName {get;set;} } } } }"; public void CreateClassFile(string directoryPath) { var seChar = Path.DirectorySeparatorChar.ToString(); if (ClassStringList.HasValue()) { foreach (var item in ClassStringList) { var filePath = directoryPath.TrimEnd('\\').TrimEnd('/') + string.Format(seChar + "{0}.cs", item.Key); FileHelper.CreateFile(filePath, item.Value, Encoding.UTF8); } } } public List> GetClassStringList() { return ClassStringList; } } }