修改临时模板
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-09-09 00:07:17 +08:00
parent 55e0624dc6
commit 429ca4dd6d
4 changed files with 26 additions and 10 deletions

View File

@ -1,4 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputEncoding>utf-8</OutputEncoding>
<ConsoleOutputEncoding>utf-8</ConsoleOutputEncoding>
</PropertyGroup>
<PropertyGroup> <PropertyGroup>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
</PropertyGroup> </PropertyGroup>

View File

@ -1,6 +1,7 @@
 
using Fluid; using Fluid;
using IRaCIS.Core.Infra.EFCore; using IRaCIS.Core.Infra.EFCore;
using IRaCIS.Core.Test.GenerateFolder;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using System; using System;
@ -12,7 +13,7 @@ using System.Text;
partial class Program partial class Program
{ {
static void Main() static void Main(string[] args)
{ {
//发布的目录和项目的目录有区别的 //发布的目录和项目的目录有区别的
var rootPath = AppContext.BaseDirectory.Replace(@"\bin\net8.0\", "").Replace(@"\bin\Release\net8.0\", ""); var rootPath = AppContext.BaseDirectory.Replace(@"\bin\net8.0\", "").Replace(@"\bin\Release\net8.0\", "");
@ -53,10 +54,8 @@ partial class Program
#endregion #endregion
// 要生成的表名数组 // 要生成的表名数组
var tableNames = new List<string> { "Subject", "Order" }; var tableNames = new List<string>(args);
try try
{ {
@ -238,10 +237,11 @@ partial class Program
public void CheckCodeFirst() public void CheckCodeFirst()
{ {
var contextOptions = new DbContextOptionsBuilder<IRaCISDBContext>() //var contextOptions = new DbContextOptionsBuilder<TempContext>()
.UseSqlServer(@"Server=106.14.89.110,1435;Database=Test_IRC;User ID=sa;Password=xc@123456;TrustServerCertificate=true").Options; // .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); //using var dbContext = new TempContext(contextOptions);
using var dbContext = new TempContext();
var dbModel = dbContext.Model; var dbModel = dbContext.Model;

View File

@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
namespace IRaCIS.Core.Test.GenerateFolder;
/// <summary>
/// 必须要因为Program 依赖反向工程生成的dbcontext 实例化,获取数据库模型
/// </summary>
public partial class TempContext : DbContext
{
}

View File

@ -26,12 +26,12 @@
Scaffold-DbContext "连接字符串" 数据库提供程序包 -Project 项目名称 -OutputDir 输出目录 -Context "生成的上下文名称" -DataAnnotations -Tables 表1, 表2 Scaffold-DbContext "连接字符串" 数据库提供程序包 -Project 项目名称 -OutputDir 输出目录 -Context "生成的上下文名称" -DataAnnotations -Tables 表1, 表2
方式1 方式1
Scaffold-DbContext "Server=106.14.89.110,1435;Database=Test_IRC;User ID=sa;Password=xc@123456;TrustServerCertificate=true" Microsoft.EntityFrameworkCore.SqlServer -Project IRaCIS.Core.Test -OutputDir ModelFolder -Context "testContext" -DataAnnotations -Tables Subject, SubjectVisit Scaffold-DbContext "Server=106.14.89.110,1435;Database=Test_IRC;User ID=sa;Password=xc@123456;TrustServerCertificate=true" Microsoft.EntityFrameworkCore.SqlServer -Project IRaCIS.Core.Test -OutputDir GenerateFolder -Context "TempContext" -DataAnnotations -Tables Dictionary, Site
方式2 多个表 -t Subject -t SubjectVisit 方式2 多个表 -t Subject -t SubjectVisit
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 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 GenerateFolder -c "TempContext" -t Dictionary -t Site
开发者PowerShell || 程序包管理控制台命令行 使用: 开发者PowerShell || 程序包管理控制台命令行 使用:
通过Liquid模板生成基础视图模型、服务接口、服务实现基本方法必须先有数据库实体模型否则视图模型无法生成 通过Liquid模板生成基础视图模型、服务接口、服务实现基本方法必须先有数据库实体模型否则视图模型无法生成
dotnet run --project IRaCIS.Core.Test dotnet run --project IRaCIS.Core.Test -- Dictionary Site