From 55e0624dc6753c8f42246576dac4185cf08cc6e0 Mon Sep 17 00:00:00 2001
From: hang <87227557@qq.com>
Date: Sun, 8 Sep 2024 21:42:13 +0800
Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E5=87=86=E5=A4=87=E5=AE=8C?=
=?UTF-8?q?=E6=AF=95=EF=BC=8C=E5=89=A9=E4=B8=8B=E5=A6=82=E4=BD=95=E9=80=82?=
=?UTF-8?q?=E9=85=8D=E7=94=9F=E6=88=90=E4=BB=A5=E5=90=8E=E8=87=AA=E5=8A=A8?=
=?UTF-8?q?=E7=94=9F=E6=88=90=E8=A7=86=E5=9B=BE=E6=A8=A1=E5=9E=8B=E5=92=8C?=
=?UTF-8?q?service?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../PGContext.cs | 0
.../Subject.cs | 0
IRaCIS.Core.Test/IRaCIS.Core.Test.csproj | 11 ++--
.../EntityService.liquid | 3 ++
.../EntityViewModel.liquid | 10 ++--
.../IEntityService.liquid | 3 ++
IRaCIS.Core.Test/Program.cs | 53 ++++++++++---------
IRaCIS.Core.Test/模板使用说明 | 3 ++
8 files changed, 46 insertions(+), 37 deletions(-)
rename IRaCIS.Core.Test/{PGModelFolder => CodeFirstTest}/PGContext.cs (100%)
rename IRaCIS.Core.Test/{PGModelFolder => CodeFirstTest}/Subject.cs (100%)
rename IRaCIS.Core.Test/{Template => LiquidTemplate}/EntityService.liquid (95%)
rename IRaCIS.Core.Test/{Template => LiquidTemplate}/EntityViewModel.liquid (74%)
rename IRaCIS.Core.Test/{Template => LiquidTemplate}/IEntityService.liquid (91%)
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