diff --git a/Src/Asp.NetCore2/SqlSeverTest/DbFirstRazorTest/DbFirstRazorTest.csproj b/Src/Asp.NetCore2/SqlSeverTest/DbFirstRazorTest/DbFirstRazorTest.csproj new file mode 100644 index 000000000..9f723e4ee --- /dev/null +++ b/Src/Asp.NetCore2/SqlSeverTest/DbFirstRazorTest/DbFirstRazorTest.csproj @@ -0,0 +1,16 @@ + + + + Exe + netcoreapp3.1 + + + + + + + + + + + diff --git a/Src/Asp.NetCore2/SqlSeverTest/DbFirstRazorTest/Program.cs b/Src/Asp.NetCore2/SqlSeverTest/DbFirstRazorTest/Program.cs new file mode 100644 index 000000000..8abf9d2ec --- /dev/null +++ b/Src/Asp.NetCore2/SqlSeverTest/DbFirstRazorTest/Program.cs @@ -0,0 +1,59 @@ +using RazorEngine; +using RazorEngine.Templating; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace DbFirstRazorTest +{ + class Program + { + static void Main(string[] args) + { + + SqlSugarClient db = new SqlSugarClient(new ConnectionConfig() + { + ConnectionString = "server=.;uid=sa;pwd=sasa;database=SQLSUGAR4XTEST", + DbType = DbType.SqlServer, + IsAutoCloseConnection = true, + ConfigureExternalServices = new ConfigureExternalServices() + { + RazorService = new RazorService() + } + }); + + db.DbFirst.UseRazorAnalysis(RazorFirst.DefaultRazorClassTemplate).CreateClassFile("c:\\Demo\\Razor\\"); + + } + } + public class RazorService : IRazorService + { + public List> GetClassStringList(string razorTemplate, List model) + { + if (model != null && model.Any()) + { + var result = new List>(); + foreach (var item in model) + { + try + { + item.ClassName = item.DbTableName;//格式化类名 + string key = "RazorService.GetClassStringList" + razorTemplate.Length; + var classString = Engine.Razor.RunCompile(razorTemplate, key, item.GetType(), item); + result.Add(new KeyValuePair(item.ClassName, classString)); + } + catch (Exception ex) + { + new Exception(item.DbTableName + " error ." + ex.Message); + } + } + return result; + } + else + { + return new List>(); + } + } + } +} diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSeverTest.sln b/Src/Asp.NetCore2/SqlSeverTest/SqlSeverTest.sln index cd6ea7aac..5ce526877 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSeverTest.sln +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSeverTest.sln @@ -23,7 +23,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KdbndpTest", "KdbndpTest\Kd EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CacheTest", "CacheTest\CacheTest.csproj", "{2EC6C9BD-6B8F-4EC3-B4ED-EAEFD8BB735C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OscarTest", "OscarTest\OscarTest.csproj", "{29925F8E-6495-463A-ABBD-C050AE85E130}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OscarTest", "OscarTest\OscarTest.csproj", "{29925F8E-6495-463A-ABBD-C050AE85E130}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DbFirstRazorTest", "DbFirstRazorTest\DbFirstRazorTest.csproj", "{EE197EB0-C494-4478-A5CD-545E7139202E}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -75,6 +77,10 @@ Global {29925F8E-6495-463A-ABBD-C050AE85E130}.Debug|Any CPU.Build.0 = Debug|Any CPU {29925F8E-6495-463A-ABBD-C050AE85E130}.Release|Any CPU.ActiveCfg = Release|Any CPU {29925F8E-6495-463A-ABBD-C050AE85E130}.Release|Any CPU.Build.0 = Release|Any CPU + {EE197EB0-C494-4478-A5CD-545E7139202E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EE197EB0-C494-4478-A5CD-545E7139202E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EE197EB0-C494-4478-A5CD-545E7139202E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EE197EB0-C494-4478-A5CD-545E7139202E}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE