You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
3.9 KiB
96 lines
3.9 KiB
using Microsoft.Extensions.DependencyInjection;
|
|
using SqlSugar;
|
|
using Tiobon.Core;
|
|
using Tiobon.Core.Seed;
|
|
using Tiobon.Core.DB;
|
|
using Tiobon.Core.DB.Dapper.Extensions;
|
|
using Tiobon.Core.Extensions;
|
|
using Tiobon.Core.Model.Entity;
|
|
|
|
namespace JianLian.HDIS.CodeGenerator;
|
|
class Program
|
|
{
|
|
public static MutiDBOperate GetMainConnectionDb()
|
|
{
|
|
var mainConnetctDb = BaseDBConfig.MutiConnectionString.allDbs.Find(x => x.ConnId == MainDb.CurrentDbConnId);
|
|
if (BaseDBConfig.MutiConnectionString.allDbs.Count > 0)
|
|
{
|
|
if (mainConnetctDb == null)
|
|
{
|
|
mainConnetctDb = BaseDBConfig.MutiConnectionString.allDbs[0];
|
|
}
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("请确保appsettigns.json中配置连接字符串,并设置Enabled为true;");
|
|
}
|
|
|
|
return mainConnetctDb;
|
|
}
|
|
static void Main(string[] args)
|
|
{
|
|
|
|
var basePath = AppContext.BaseDirectory;
|
|
IServiceCollection services = new ServiceCollection();
|
|
|
|
services.AddSingleton(new AppSettings(basePath));
|
|
services.AddAutoMapperSetup();
|
|
services.AddSimpleDapperSetup();
|
|
services.AddScoped<DBSeed>();
|
|
services.AddScoped<MyContext>();
|
|
services.AddSqlsugarSetup();
|
|
|
|
//services.AddScoped<SqlSugar.ISqlSugarClient>(o =>
|
|
//{
|
|
// return new SqlSugar.SqlSugarScope(new SqlSugar.ConnectionConfig()
|
|
// {
|
|
// ConnectionString = GetMainConnectionDb().Connection, //必填, 数据库连接字符串
|
|
// DbType = (SqlSugar.DbType)GetMainConnectionDb().DbType, //必填, 数据库类型
|
|
// IsAutoCloseConnection = true, //默认false, 时候知道关闭数据库连接, 设置为true无需使用using或者Close操作
|
|
// });
|
|
//});
|
|
var sp = services.BuildServiceProvider();
|
|
Console.WriteLine("请输入表名!");
|
|
string tableName = Console.ReadLine() ?? "SmApiLog";
|
|
|
|
string[] tableNames = new string[1];
|
|
tableNames[0] = tableName;
|
|
string ConnID = null;
|
|
|
|
|
|
var isMuti = BaseDBConfig.IsMulti;
|
|
var data = new ServiceResult<string>() { Success = true, Message = "" };
|
|
if (1 == 1)
|
|
{
|
|
var _sqlSugarClient = sp.GetService<ISqlSugarClient>() as SqlSugarScope;
|
|
|
|
ConnID = ConnID == null ? MainDb.CurrentDbConnId.ToLower() : ConnID;
|
|
_sqlSugarClient?.ChangeDatabase(ConnID.ToLower());
|
|
data.Data += $"Controller层生成:{FrameSeed.CreateControllers(_sqlSugarClient, ConnID, isMuti, tableNames)} || ";
|
|
data.Data += $"库{ConnID}-Model层生成:{FrameSeed.CreateModels(_sqlSugarClient, ConnID, isMuti, tableNames)} || ";
|
|
//data.response += $"库{ConnID}-IRepositorys层生成:{FrameSeed.CreateIRepositorys(_sqlSugarClient, ConnID, isMuti, tableNames)} || ";
|
|
data.Data += $"库{ConnID}-IServices层生成:{FrameSeed.CreateIServices(_sqlSugarClient, ConnID, isMuti, tableNames)} || ";
|
|
//data.response += $"库{ConnID}-Repository层生成:{FrameSeed.CreateRepository(_sqlSugarClient, ConnID, isMuti, tableNames)} || ";
|
|
data.Data += $"库{ConnID}-Services层生成:{FrameSeed.CreateServices(_sqlSugarClient, ConnID, isMuti, tableNames)} || ";
|
|
// 切回主库
|
|
_sqlSugarClient?.ChangeDatabase(MainDb.CurrentDbConnId.ToLower());
|
|
}
|
|
else
|
|
{
|
|
data.Success = false;
|
|
data.Message = "当前不处于开发模式,代码生成不可用!";
|
|
}
|
|
|
|
// ALL Completed
|
|
Console.WriteLine("ALL Completed!");
|
|
Console.ReadKey();
|
|
Thread.Sleep(Timeout.Infinite);
|
|
|
|
}
|
|
|
|
public static List<string> ToUnderscoreCase(string str)
|
|
{
|
|
var str1 = string.Concat(str.Select((x, i) => i > 0 && char.IsUpper(x) ? "_" + x.ToString() : x.ToString())).ToLower();
|
|
return str1.Split('_').ToList();
|
|
}
|
|
} |