using System; using System.Collections.Generic; using System.Linq; using System.Text; using Infrastructure.Extensions; using ZR.Common.Extension; namespace ZR.CodeGenerator.CodeGenerator { public class TableMappingHelper { /// /// UserService转成userService /// /// /// public static string FirstLetterLowercase(string instanceName) { instanceName = instanceName.ParseToString(); if (!instanceName.IsEmpty()) { StringBuilder sb = new StringBuilder(); sb.Append(instanceName[0].ToString().ToLower() + instanceName.Substring(1)); return sb.ToString(); } else { return instanceName; } } /// /// sys_menu_authorize变成MenuAuthorize /// public static string GetClassNamePrefix(string tableName) { string[] arr = tableName.Split('_'); if (arr.Length <= 0) return tableName; StringBuilder sb = new StringBuilder(); for (int i = 1; i < arr.Length; i++) { sb.Append(arr[i][0].ToString().ToUpper() + arr[i].Substring(1)); } return sb.ToString(); } /// /// 获取C# 类型 /// /// /// public static string GetCSharpDatatype(string sDatatype) { sDatatype = sDatatype.ToLower(); string sTempDatatype = sDatatype switch { "int" or "number" or "integer" or "smallint" => "int", "bigint" => "long", "tinyint" => "byte", "numeric" or "real" or "float" => "float", "decimal" or "numer(8,2)" => "decimal", "bit" => "bool", "date" or "datetime" or "datetime2" or "smalldatetime" => "DateTime", "money" or "smallmoney" => "double", _ => "string", }; return sTempDatatype; } public static bool IsNumber(string tableDataType) { string[] arr = new string[] { "int", "long" }; return arr.Any(f => f.Contains(GetCSharpDatatype(tableDataType))); } } }