From ca5678e39ee8f771b57a04e70c2aa8c51eee8c05 Mon Sep 17 00:00:00 2001
From: sunkaixuna <610262374@qq.com>
Date: Tue, 18 Jan 2022 19:17:46 +0800
Subject: [PATCH] Add demo
---
.../DbFirstRazorTest/DbFirstRazorTest.csproj | 16 +++++
.../SqlSeverTest/DbFirstRazorTest/Program.cs | 59 +++++++++++++++++++
.../SqlSeverTest/SqlSeverTest.sln | 8 ++-
3 files changed, 82 insertions(+), 1 deletion(-)
create mode 100644 Src/Asp.NetCore2/SqlSeverTest/DbFirstRazorTest/DbFirstRazorTest.csproj
create mode 100644 Src/Asp.NetCore2/SqlSeverTest/DbFirstRazorTest/Program.cs
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