This commit is contained in:
sunkaixuna 2022-01-18 19:17:46 +08:00
parent b223d949f1
commit ca5678e39e
3 changed files with 82 additions and 1 deletions

View File

@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="RazorEngine.NetCore" Version="3.1.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\SqlSugar\SqlSugar.csproj" />
</ItemGroup>
</Project>

View File

@ -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<KeyValuePair<string, string>> GetClassStringList(string razorTemplate, List<RazorTableInfo> model)
{
if (model != null && model.Any())
{
var result = new List<KeyValuePair<string, string>>();
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<string, string>(item.ClassName, classString));
}
catch (Exception ex)
{
new Exception(item.DbTableName + " error ." + ex.Message);
}
}
return result;
}
else
{
return new List<KeyValuePair<string, string>>();
}
}
}
}

View File

@ -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