调整实体代码生成,增加string?

This commit is contained in:
2023-05-16 19:52:52 +08:00
parent ce0bff561f
commit 408bbd8789
3 changed files with 201 additions and 39 deletions

View File

@@ -0,0 +1,174 @@
using System;
using System.Linq;
using System.Text;
using SqlSugar;
namespace Tnb.BasicData.Entities
{
///<summary>
///客户信息
///</summary>
[SugarTable("bas_customer")]
public partial class BasCustomer
{
public BasCustomer(){
this.org_id =Convert.ToString("NULL::character varying");
this.short_name =Convert.ToString("NULL::character varying");
this.full_address =Convert.ToString("NULL::character varying");
this.postal_code =Convert.ToString("NULL::character varying");
this.country =Convert.ToString("NULL::character varying");
this.province =Convert.ToString("NULL::character varying");
this.city =Convert.ToString("NULL::character varying");
this.district =Convert.ToString("NULL::character varying");
this.street =Convert.ToString("NULL::character varying");
this.contact_name =Convert.ToString("NULL::character varying");
this.contact_phone =Convert.ToString("NULL::character varying");
this.contact_mobile =Convert.ToString("NULL::character varying");
this.create_id =Convert.ToString("NULL::character varying");
this.modify_id =Convert.ToString("NULL::character varying");
}
/// <summary>
/// Desc:编号
/// Default:
/// Nullable:False
/// </summary>
[SugarColumn(IsPrimaryKey=true)]
public string id {get;set;}
/// <summary>
/// Desc:客户代码
/// Default:
/// Nullable:False
/// </summary>
public string customer_code {get;set;}
/// <summary>
/// Desc:客户名称
/// Default:
/// Nullable:False
/// </summary>
public string customer_name {get;set;}
/// <summary>
/// Desc:所属组织
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string? org_id {get;set;}
/// <summary>
/// Desc:客户简称
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string? short_name {get;set;}
/// <summary>
/// Desc:详细地址
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string? full_address {get;set;}
/// <summary>
/// Desc:邮编
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string? postal_code {get;set;}
/// <summary>
/// Desc:国家
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string? country {get;set;}
/// <summary>
/// Desc:省
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string? province {get;set;}
/// <summary>
/// Desc:市
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string? city {get;set;}
/// <summary>
/// Desc:区
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string? district {get;set;}
/// <summary>
/// Desc:街道地址
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string? street {get;set;}
/// <summary>
/// Desc:联系人名称
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string? contact_name {get;set;}
/// <summary>
/// Desc:联系人电话
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string? contact_phone {get;set;}
/// <summary>
/// Desc:联系人手机
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string? contact_mobile {get;set;}
/// <summary>
/// Desc:创建用户
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string? create_id {get;set;}
/// <summary>
/// Desc:创建时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? create_time {get;set;}
/// <summary>
/// Desc:修改用户
/// Default:NULL::character varying
/// Nullable:True
/// </summary>
public string? modify_id {get;set;}
/// <summary>
/// Desc:修改时间
/// Default:
/// Nullable:True
/// </summary>
public DateTime? modify_time {get;set;}
/// <summary>
/// Desc:扩展字段
/// Default:
/// Nullable:True
/// </summary>
public string? extras {get;set;}
}
}

View File

@@ -18,7 +18,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="SqlSugarCore" Version="5.1.4.60" />
<PackageReference Include="SqlSugarCore" Version="5.1.4.73" />
<PackageReference Include="Tnb.Core" Version="2023.3.24.1010" />
<!--<ProjectReference Include="..\..\..\Tnb.Core\Tnb.Core\Tnb.Core.csproj" />-->
</ItemGroup>

View File

@@ -386,51 +386,39 @@ public class DataBaseService : IDynamicApiController, ITransient
sugarClient = _dataBaseManager.ChangeDataBase(link);
}
string CustomFormatName(string s)
var entityName = string.Join("", input.TableName.Split('_').Select(a => a.ToPascalCase()));
foreach (var item in sugarClient.DbMaintenance.GetTableInfoList().Where(t => t.Name == input.TableName))
{
var pos = 0;
if ((pos = s.IndexOf("_", StringComparison.Ordinal)) > -1)
{
var separatorStrings = Regex.Split(s, @"_", RegexOptions.Compiled);
if (separatorStrings.Length > 2)
{
var sb = new StringBuilder();
foreach (var item in separatorStrings)
{
sb.Append(item.ToUpperCase());
}
return sb.ToString();
}
else
{
var first = s.AsSpan().Slice(0, pos).ToString().ToUpperCase();
var second = s.AsSpan().Slice(pos + 1).ToString().ToUpperCase();
return $"{first}{second}";
}
}
else
{
return s.ToUpperCase();
}
}
foreach (var item in sugarClient!.DbMaintenance.GetTableInfoList().Where(t => t.Name == input.TableName))
{
string entityName = CustomFormatName(item.Name);/*实体名首字母大写*/
//string entityName = CustomFormatName(item.Name);/*实体名首字母大写*/
sugarClient.MappingTables.Add(entityName, item.Name);
foreach (var col in sugarClient.DbMaintenance.GetColumnInfosByTableName(item.Name))
//foreach (var col in sugarClient.DbMaintenance.GetColumnInfosByTableName(item.Name))
//{
// //var colName = CustomFormatName(col.DbColumnName);
// sugarClient.MappingColumns.Add(col.DbColumnName /*类的属性首字母大写*/, col.DbColumnName, entityName);
//}
}
var prefix = input.TableName.Split('_')[0];
Dictionary<string, string> nsMapper = new()
{
//var colName = CustomFormatName(col.DbColumnName);
sugarClient.MappingColumns.Add(col.DbColumnName /*类的属性首字母大写*/, col.DbColumnName, entityName);
}
}
{"bas", "Tnb.BasicData.Entities" },
{"prd", "Tnb.ProductionMgr.Entities" },
{"wms", "Tnb.WarehouseMgr.Entities" },
{"eqp", "Tnb.EquipMgr.Entities" },
{"tool", "Tnb.EquipMgr.Entities" },
{"qc", "Tnb.QcMgr.Entities" },
};
sugarClient.DbFirst.Where(input.TableName)
.FormatFileName(CustomFormatName)
.SettingConstructorTemplate(a =>
{
return a;
})
//.IsCreateDefaultValue(true)
.IsCreateAttribute()
.CreateClassFile(dir, "DbModels");
.StringNullable()
.CreateClassFile(dir, nsMapper.ContainsKey(prefix) ? nsMapper[prefix] : "Tnb.Entities");
var previewContent = "";
var codeFile = Path.Combine(dir, $"{CustomFormatName(input.TableName)}.cs");
var codeFile = Path.Combine(dir, $"{entityName}.cs");
if (File.Exists(codeFile))
{
using (var sr = File.OpenText(codeFile))