DBFirst生成优化

master
xiaochanghai 1 year ago
parent ec5ab6ee28
commit a50ccd0a7d
  1. 8
      Tiobon.Core.Api/Controllers/DbFirst/DbFirstController.cs
  2. 61
      Tiobon.Core.Api/Controllers/Ghra_GradeController.cs
  3. 3
      Tiobon.Core.Api/GlobalUsings.cs
  4. 44
      Tiobon.Core.Api/Tiobon.Core.xml
  5. 1
      Tiobon.Core.Api/appsettings.json
  6. 194
      Tiobon.Core.Common/Seed/FrameSeed.cs

@ -70,7 +70,7 @@ namespace Tiobon.Core.Controllers
/// <param name="tableNames">需要生成的表名</param>
/// <returns></returns>
[HttpPost]
public MessageModel<string> GetFrameFilesByTableNames([FromBody]string[] tableNames, [FromQuery]string ConnID = null)
public MessageModel<string> GetFrameFilesByTableNames([FromBody] string[] tableNames, [FromQuery] string ConnID = null)
{
ConnID = ConnID == null ? MainDb.CurrentDbConnId.ToLower() : ConnID;
@ -144,11 +144,13 @@ namespace Tiobon.Core.Controllers
/// DbFrist 根据数据库表名 生成整体框架,包含Model层(一般可用第一次生成)
/// </summary>
/// <param name="ConnID">数据库链接名称</param>
/// <param name="tableNames">需要生成的表名</param>
/// <param name="tableName">需要生成的表名</param>
/// <returns></returns>
[HttpPost]
public MessageModel<string> GetAllFrameFilesByTableNames([FromBody]string[] tableNames, [FromQuery]string ConnID = null)
public MessageModel<string> GetAllFrameFilesByTableNames([FromQuery] string tableName, [FromQuery] string ConnID = null)
{
string[] tableNames = new string[1];
tableNames[0] = tableName;
ConnID = ConnID == null ? MainDb.CurrentDbConnId.ToLower() : ConnID;
var isMuti = BaseDBConfig.IsMulti;

@ -1,43 +1,45 @@
using Microsoft.EntityFrameworkCore;
using Tiobon.Core.DataAccess;
namespace Tiobon.Core.Api.Controllers
namespace Tiobon.Core.Api.Controllers
{
[Route("api/[controller]/[action]")]
[ApiController]
[Authorize(Permissions.Name)]
public class Ghra_GradeController : ControllerBase
/// <summary>
/// Ghra_Grade
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
[Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_Ghra)]
public class Ghra_GradeController : ControllerBase
{
#region 初始化
/// <summary>
/// 服务器接口,因为是模板生成,所以首字母是大写的,自己可以重构下
/// </summary>
private readonly IGhra_GradeServices _ghra_GradeServices;
public Ghra_GradeController(IGhra_GradeServices Ghra_GradeServices)
{
_ghra_GradeServices = Ghra_GradeServices;
}
#endregion
#region 基础接口
#region 查询
/// <summary>
/// Ghra_Grade -- 根据条件查询数据
/// </summary>
/// <param name="filter">条件</param>
/// <returns></returns>
[HttpGet]
public async Task<MessageModel<PageModel<Ghra_Grade>>> Get([FromFilter] QueryFilter filter)
{
using var _context = ContextFactory.CreateContext();
var list = await _context.Ghra_Grade.ToListAsync();
return new MessageModel<PageModel<Ghra_Grade>>()
{
msg = "获取成功",
success = true,
response = await _ghra_GradeServices.QueryFilterPage(filter)
};
var response = await _ghra_GradeServices.QueryFilterPage(filter);
return new MessageModel<PageModel<Ghra_Grade>>() { msg = "获取成功", success = true, response = response };
}
/// <summary>
/// Ghra_Grade -- 根据Id查询数据
/// </summary>
/// <param name="id">主键ID</param>
/// <returns></returns>
[HttpGet("{id}")]
public async Task<MessageModel<Ghra_Grade>> Get(string id)
{
@ -51,6 +53,11 @@ namespace Tiobon.Core.Api.Controllers
#endregion
#region 新增
/// <summary>
/// Ghra_Grade -- 新增数据
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public async Task<MessageModel<string>> Post([FromBody] Ghra_Grade request)
{
@ -62,13 +69,18 @@ namespace Tiobon.Core.Api.Controllers
{
data.response = id.ObjToString();
data.msg = "添加成功";
}
}
return data;
}
#endregion
#region 新增
#region 更新
/// <summary>
/// Ghra_Grade -- 更新数据
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPut]
public async Task<MessageModel<string>> Put([FromBody] Ghra_Grade request)
{
@ -85,6 +97,11 @@ namespace Tiobon.Core.Api.Controllers
#endregion
#region 删除
/// <summary>
/// Ghra_Grade -- 删除数据
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete]
public async Task<MessageModel<string>> Delete(int id)
{

@ -15,4 +15,5 @@ global using Tiobon.Core.Model;
global using Tiobon.Core.Model.Models;
global using Tiobon.Core.Model.ViewModels;
global using Tiobon.Core.Repository.UnitOfWorks;
global using Microsoft.AspNetCore.Mvc;
global using Tiobon.Core.SwaggerHelper;
global using static Tiobon.Core.Extensions.SwaggerSetup;

@ -116,12 +116,12 @@
<param name="tableNames">需要生成的表名</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.DbFirstController.GetAllFrameFilesByTableNames(System.String[],System.String)">
<member name="M:Tiobon.Core.Controllers.DbFirstController.GetAllFrameFilesByTableNames(System.String,System.String)">
<summary>
DbFrist 根据数据库表名 生成整体框架,包含Model层(一般可用第一次生成)
</summary>
<param name="ConnID">数据库链接名称</param>
<param name="tableNames">需要生成的表名</param>
<param name="tableName">需要生成的表名</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.MigrateController.DataMigrateFromOld2New">
@ -1216,11 +1216,51 @@
<param name="pid"></param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghra_GradeController">
<summary>
Ghra_Grade
</summary>
</member>
<member name="F:Tiobon.Core.Api.Controllers.Ghra_GradeController._ghra_GradeServices">
<summary>
服务器接口,因为是模板生成,所以首字母是大写的,自己可以重构下
</summary>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghra_GradeController.Get(Tiobon.Core.Common.QueryFilter)">
<summary>
Ghra_Grade -- 根据条件查询数据
</summary>
<param name="filter">条件</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghra_GradeController.Get(System.String)">
<summary>
Ghra_Grade -- 根据Id查询数据
</summary>
<param name="id">主键ID</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghra_GradeController.Post(Tiobon.Core.Model.Models.Ghra_Grade)">
<summary>
Ghra_Grade -- 新增数据
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghra_GradeController.Put(Tiobon.Core.Model.Models.Ghra_Grade)">
<summary>
Ghra_Grade -- 更新数据
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghra_GradeController.Delete(System.Int32)">
<summary>
Ghra_Grade -- 删除数据
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.NacosController">
<summary>
服务管理

@ -209,7 +209,6 @@
"AppConfigAlert": {
"Enabled": true
},
"ApiName": "Tiobon.Core",
"IdentityServer4": {
"Enabled": false, // false使jwttrue使Ids4
"AuthorizationUrl": "http://localhost:5004", //

@ -105,7 +105,6 @@ namespace Tiobon.Core.Common.Seed
/// <summary>
/// 功能描述:根据数据库表生产Controller层
/// 作  者:Tiobon.Core
/// </summary>
/// <param name="sqlSugarClient"></param>
/// <param name="ConnId">数据库链接ID</param>
@ -130,112 +129,134 @@ namespace Tiobon.Core.Common.Seed
{
IDbFirst = IDbFirst.Where(lstTableNames);
}
var tableName = lstTableNames[0];
var groupName = tableName.Split('_')[0];
var ls = IDbFirst.IsCreateDefaultValue().IsCreateAttribute()
.SettingClassTemplate(p => p =
@"namespace " + strNameSpace + @"
{
/// <summary>
/// {ClassName}
/// </summary>
[Route(""api/[controller]/[action]"")]
[ApiController]
[Authorize(Permissions.Name)]
public class {ClassName}Controller : ControllerBase
[Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_" + groupName + @")]
public class {ClassName}Controller : ControllerBase
{
#region 初始化
/// <summary>
/// 服务器接口,因为是模板生成,所以首字母是大写的,自己可以重构下
/// </summary>
private readonly I{ClassName}Services _{ClassName}Services;
#region 初始化
/// <summary>
/// 服务器接口,因为是模板生成,所以首字母是大写的,自己可以重构下
/// </summary>
private readonly I{ClassName}Services _{ClassName}Services;
public {ClassName}Controller(I{ClassName}Services {ClassName}Services)
{
_{ClassName}Services = {ClassName}Services;
}
#endregion
public {ClassName}Controller(I{ClassName}Services {ClassName}Services)
{
_{ClassName}Services = {ClassName}Services;
}
#endregion
#region 基础接口
#region 基础接口
#region 查询
[HttpGet]
public async Task<MessageModel<PageModel<{ClassName}>>> Get(int page = 1, string key = """",int pageSize = 50)
{
if (string.IsNullOrEmpty(key) || string.IsNullOrWhiteSpace(key))
key = """";
Expression<Func<{ClassName}, bool>> whereExpression = a => true;
return new MessageModel<PageModel<{ClassName}>>()
{
msg = """",
success = true,
response = await _{ClassName}Services.QueryPage(whereExpression, page, pageSize)
};
}
#region 查询
/// <summary>
/// {ClassName} -- 根据条件查询数据
/// </summary>
/// <param name=""filter"">条件</param>
/// <returns></returns>
[HttpGet]
public async Task<MessageModel<PageModel<{ClassName}>>> Get([FromFilter] QueryFilter filter)
{
var response = await _{ClassName}Services.QueryFilterPage(filter);
return new MessageModel<PageModel<{ClassName}>>() { msg = """", success = true, response = response };
}
[HttpGet(""{id}"")]
public async Task<MessageModel<{ClassName}>> Get(string id)
/// <summary>
/// {ClassName} -- 根据Id查询数据
/// </summary>
/// <param name=""id"">主键ID</param>
/// <returns></returns>
[HttpGet(""{id}"")]
public async Task<MessageModel<{ClassName}>> Get(string id)
{
return new MessageModel<{ClassName}>()
{
return new MessageModel<{ClassName}>()
{
msg = """",
success = true,
response = await _{ClassName}Services.QueryById(id)
};
}
#endregion
msg = """",
success = true,
response = await _{ClassName}Services.QueryById(id)
};
}
#endregion
#region 新增
[HttpPost]
public async Task<MessageModel<string>> Post([FromBody] {ClassName} request)
{
var data = new MessageModel<string>();
#region 新增
/// <summary>
/// {ClassName} -- 新增数据
/// </summary>
/// <param name=""request""></param>
/// <returns></returns>
[HttpPost]
public async Task<MessageModel<string>> Post([FromBody] {ClassName} request)
{
var data = new MessageModel<string>();
var id = await _{ClassName}Services.Add(request);
data.success = id > 0;
if (data.success)
{
data.response = id.ObjToString();
data.msg = """";
}
var id = await _{ClassName}Services.Add(request);
data.success = id > 0;
if (data.success)
{
data.response = id.ObjToString();
data.msg = """";
}
return data;
}
#endregion
return data;
}
#endregion
#region 新增
[HttpPut]
public async Task<MessageModel<string>> Put([FromBody] {ClassName} request)
#region 更新
/// <summary>
/// {ClassName} -- 更新数据
/// </summary>
/// <param name=""request""></param>
/// <returns></returns>
[HttpPut]
public async Task<MessageModel<string>> Put([FromBody] {ClassName} request)
{
var data = new MessageModel<string>();
data.success = await _{ClassName}Services.Update(request);
if (data.success)
{
var data = new MessageModel<string>();
data.success = await _{ClassName}Services.Update(request);
if (data.success)
{
data.msg = """";
data.response = request?.Id.ObjToString();
}
return data;
data.msg = """";
data.response = request?.Id.ObjToString();
}
#endregion
#region 删除
[HttpDelete]
public async Task<MessageModel<string>> Delete(int id)
{
var data = new MessageModel<string>();
var model = await _{ClassName}Services.QueryById(id);
model.IsEnable = 1;
// data.success = await _departmentServices.Update(model);
if (data.success)
{
data.msg = """";
data.response = model?.Id.ObjToString();
}
return data;
}
#endregion
return data;
#region 删除
/// <summary>
/// {ClassName} -- 删除数据
/// </summary>
/// <param name=""id""></param>
/// <returns></returns>
[HttpDelete]
public async Task<MessageModel<string>> Delete(int id)
{
var data = new MessageModel<string>();
var model = await _{ClassName}Services.QueryById(id);
model.IsEnable = 1;
// data.success = await _departmentServices.Update(model);
if (data.success)
{
data.msg = """";
data.response = model?.Id.ObjToString();
}
#endregion
#endregion
return data;
}
#endregion
#endregion
}
}")
@ -258,7 +279,6 @@ namespace Tiobon.Core.Common.Seed
/// <summary>
/// 功能描述:根据数据库表生产Model层
/// 作  者:Tiobon.Core
/// </summary>
/// <param name="sqlSugarClient"></param>
/// <param name="ConnId">数据库链接ID</param>
@ -324,7 +344,6 @@ namespace " + strNameSpace + @"
/// <summary>
/// 功能描述:根据数据库表生产IRepository层
/// 作  者:Tiobon.Core
/// </summary>
/// <param name="sqlSugarClient"></param>
/// <param name="ConnId">数据库链接ID</param>
@ -381,7 +400,6 @@ namespace " + strNameSpace + @"
/// <summary>
/// 功能描述:根据数据库表生产IServices层
/// 作  者:Tiobon.Core
/// </summary>
/// <param name="sqlSugarClient"></param>
/// <param name="ConnId">数据库链接ID</param>
@ -438,7 +456,6 @@ namespace " + strNameSpace + @"
/// <summary>
/// 功能描述:根据数据库表生产 Repository 层
/// 作  者:Tiobon.Core
/// </summary>
/// <param name="sqlSugarClient"></param>
/// <param name="ConnId">数据库链接ID</param>
@ -500,7 +517,6 @@ namespace " + strNameSpace + @"
/// <summary>
/// 功能描述:根据数据库表生产 Services 层
/// 作  者:Tiobon.Core
/// </summary>
/// <param name="sqlSugarClient"></param>
/// <param name="ConnId">数据库链接ID</param>

Loading…
Cancel
Save