diff --git a/IRaCIS.Core.Test/PGModelFolder/PGContext.cs b/IRaCIS.Core.Test/CodeFirstTest/PGContext.cs
similarity index 100%
rename from IRaCIS.Core.Test/PGModelFolder/PGContext.cs
rename to IRaCIS.Core.Test/CodeFirstTest/PGContext.cs
diff --git a/IRaCIS.Core.Test/PGModelFolder/Subject.cs b/IRaCIS.Core.Test/CodeFirstTest/Subject.cs
similarity index 100%
rename from IRaCIS.Core.Test/PGModelFolder/Subject.cs
rename to IRaCIS.Core.Test/CodeFirstTest/Subject.cs
diff --git a/IRaCIS.Core.Test/IRaCIS.Core.Test.csproj b/IRaCIS.Core.Test/IRaCIS.Core.Test.csproj
index d59ab4636..317e5cc34 100644
--- a/IRaCIS.Core.Test/IRaCIS.Core.Test.csproj
+++ b/IRaCIS.Core.Test/IRaCIS.Core.Test.csproj
@@ -33,13 +33,13 @@
-
+
Always
-
+
Always
-
+
Always
@@ -92,11 +92,6 @@
-
-
-
-
-
diff --git a/IRaCIS.Core.Test/Template/EntityService.liquid b/IRaCIS.Core.Test/LiquidTemplate/EntityService.liquid
similarity index 95%
rename from IRaCIS.Core.Test/Template/EntityService.liquid
rename to IRaCIS.Core.Test/LiquidTemplate/EntityService.liquid
index f0bce2e1f..7bcf2043d 100644
--- a/IRaCIS.Core.Test/Template/EntityService.liquid
+++ b/IRaCIS.Core.Test/LiquidTemplate/EntityService.liquid
@@ -8,6 +8,9 @@ using IRaCIS.Core.Domain.Models;
using Microsoft.AspNetCore.Mvc;
using IRaCIS.Core.Application.Interfaces;
using IRaCIS.Core.Application.ViewModel;
+using IRaCIS.Core.Infrastructure.Extention;
+using System.Threading.Tasks;
+using IRaCIS.Core.Infra.EFCore;
namespace IRaCIS.Core.Application.Service
{
diff --git a/IRaCIS.Core.Test/Template/EntityViewModel.liquid b/IRaCIS.Core.Test/LiquidTemplate/EntityViewModel.liquid
similarity index 74%
rename from IRaCIS.Core.Test/Template/EntityViewModel.liquid
rename to IRaCIS.Core.Test/LiquidTemplate/EntityViewModel.liquid
index 1face3652..e4d871097 100644
--- a/IRaCIS.Core.Test/Template/EntityViewModel.liquid
+++ b/IRaCIS.Core.Test/LiquidTemplate/EntityViewModel.liquid
@@ -12,7 +12,7 @@ namespace IRaCIS.Core.Application.ViewModel
public class {{ TableNameView }} : {{ TableNameAddOrEdit }}
{
{% for field in ViewListFieldList %}
- public {{ field.CSharpType }} {{ field.FieldName }} { get; set; }
+ public {{ field.CSharpType }} {{ field.FieldName }} { get; set; }
{% endfor %}
}
@@ -21,9 +21,9 @@ namespace IRaCIS.Core.Application.ViewModel
{
{%- for field in AddOrUpdateFieldList -%}
{% if field.IsPrimarykey %}
- public {{ field.CSharpType }}? {{ field.FieldName }} { get; set; }
+ public {{ field.CSharpType }}? {{ field.FieldName }} { get; set; }
{% else %}
- public {{ field.CSharpType }} {{ field.FieldName }} { get; set; }
+ public {{ field.CSharpType }} {{ field.FieldName }} { get; set; }
{% endif %}
{%- endfor -%}
}
@@ -32,9 +32,9 @@ namespace IRaCIS.Core.Application.ViewModel
{
{%- for field in QueryListFieldList -%}
{% if field.IsNullable and field.IsCSharpString == false %}
- public {{ field.CSharpType }} {{ field.FieldName }} { get; set; }
+ public {{ field.CSharpType }} {{ field.FieldName }} { get; set; }
{% else %}
- public {{ field.CSharpType }}? {{ field.FieldName }} { get; set; }
+ public {{ field.CSharpType }}? {{ field.FieldName }} { get; set; }
{% endif %}
{%- endfor -%}
}
diff --git a/IRaCIS.Core.Test/Template/IEntityService.liquid b/IRaCIS.Core.Test/LiquidTemplate/IEntityService.liquid
similarity index 91%
rename from IRaCIS.Core.Test/Template/IEntityService.liquid
rename to IRaCIS.Core.Test/LiquidTemplate/IEntityService.liquid
index 7bd0beea6..565051fc8 100644
--- a/IRaCIS.Core.Test/Template/IEntityService.liquid
+++ b/IRaCIS.Core.Test/LiquidTemplate/IEntityService.liquid
@@ -4,6 +4,9 @@
// 生成时间 {{DateTimeNow}}
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
+using System;
+using IRaCIS.Core.Infrastructure.Extention;
+using System.Threading.Tasks;
using IRaCIS.Core.Application.ViewModel;
namespace IRaCIS.Core.Application.Interfaces
{
diff --git a/IRaCIS.Core.Test/Program.cs b/IRaCIS.Core.Test/Program.cs
index 3849be577..0a65890ae 100644
--- a/IRaCIS.Core.Test/Program.cs
+++ b/IRaCIS.Core.Test/Program.cs
@@ -17,42 +17,46 @@ partial class Program
//发布的目录和项目的目录有区别的
var rootPath = AppContext.BaseDirectory.Replace(@"\bin\net8.0\", "").Replace(@"\bin\Release\net8.0\", "");
- var templateFolderPath = Path.Combine(rootPath, "Template");
- var outPutTemplateFolderPath = Path.Combine(rootPath, "TemplateOutPut");
+ var templateFolderPath = Path.Combine(rootPath, "LiquidTemplate");
+ var outPutTemplateFolderPath = Path.Combine(rootPath, "LiquidTemplateOutPut");
#region 生成文件目录准备
if (!Directory.Exists(outPutTemplateFolderPath))
{
Directory.CreateDirectory(outPutTemplateFolderPath);
}
- var servicePath = Path.Combine(outPutTemplateFolderPath, "Service");
- var iServicePath = Path.Combine(outPutTemplateFolderPath, "IService");
- var entityPath = Path.Combine(outPutTemplateFolderPath, "Entity");
- var dtoPath = Path.Combine(outPutTemplateFolderPath, "DTO");
- if (!Directory.Exists(servicePath))
- {
- Directory.CreateDirectory(servicePath);
- }
- if (!Directory.Exists(iServicePath))
- {
- Directory.CreateDirectory(iServicePath);
- }
- if (!Directory.Exists(entityPath))
- {
- Directory.CreateDirectory(entityPath);
- }
- if (!Directory.Exists(dtoPath))
- {
- Directory.CreateDirectory(dtoPath);
- }
+ #region 废弃 没必要分目录,还是手动设置文件夹
+ //var servicePath = Path.Combine(outPutTemplateFolderPath, "Service");
+ //var iServicePath = Path.Combine(outPutTemplateFolderPath, "IService");
+ //var entityPath = Path.Combine(outPutTemplateFolderPath, "Entity");
+ //var dtoPath = Path.Combine(outPutTemplateFolderPath, "DTO");
+
+ //if (!Directory.Exists(servicePath))
+ //{
+ // Directory.CreateDirectory(servicePath);
+ //}
+ //if (!Directory.Exists(iServicePath))
+ //{
+ // Directory.CreateDirectory(iServicePath);
+ //}
+ //if (!Directory.Exists(entityPath))
+ //{
+ // Directory.CreateDirectory(entityPath);
+ //}
+ //if (!Directory.Exists(dtoPath))
+ //{
+ // Directory.CreateDirectory(dtoPath);
+ //}
+ #endregion
+
#endregion
// 要生成的表名数组
- var tableNames = new List { /*"Subject", "Order"*/ };
+ var tableNames = new List { "Subject", "Order" };
try
{
@@ -234,7 +238,8 @@ partial class Program
public void CheckCodeFirst()
{
- var contextOptions = new DbContextOptionsBuilder().UseSqlServer(@"Server=106.14.89.110,1435;Database=Test_IRC;User ID=sa;Password=xc@123456;TrustServerCertificate=true").Options;
+ var contextOptions = new DbContextOptionsBuilder()
+ .UseSqlServer(@"Server=106.14.89.110,1435;Database=Test_IRC;User ID=sa;Password=xc@123456;TrustServerCertificate=true").Options;
using var dbContext = new IRaCISDBContext(contextOptions);
diff --git a/IRaCIS.Core.Test/模板使用说明 b/IRaCIS.Core.Test/模板使用说明
index de575fa28..3702e1731 100644
--- a/IRaCIS.Core.Test/模板使用说明
+++ b/IRaCIS.Core.Test/模板使用说明
@@ -32,3 +32,6 @@ Scaffold-DbContext "Server=106.14.89.110,1435;Database=Test_IRC;User ID=sa;Passw
dotnet ef dbcontext scaffold "Server=106.14.89.110,1435;Database=Test_IRC;User ID=sa;Password=xc@123456;TrustServerCertificate=true" Microsoft.EntityFrameworkCore.SqlServer -p IRaCIS.Core.Test -d -o ModelFolder -c "IRaCISDBContext" -t Subject
+开发者PowerShell || 程序包管理控制台命令行 使用:
+通过Liquid模板生成基础视图模型、服务接口、服务实现基本方法(必须先有数据库实体模型,否则视图模型无法生成)
+ dotnet run --project IRaCIS.Core.Test
\ No newline at end of file