TableMappingHelper.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using YiSha.Util.Extension;
  5. namespace YiSha.CodeGenerator
  6. {
  7. public class TableMappingHelper
  8. {
  9. /// <summary>
  10. /// UserService转成userService
  11. /// </summary>
  12. /// <param name="s"></param>
  13. /// <returns></returns>
  14. public static string FirstLetterLowercase(string instanceName)
  15. {
  16. instanceName = instanceName.ParseToString();
  17. if (!instanceName.IsEmpty())
  18. {
  19. StringBuilder sb = new StringBuilder();
  20. sb.Append(instanceName[0].ToString().ToLower() + instanceName.Substring(1));
  21. return sb.ToString();
  22. }
  23. else
  24. {
  25. return instanceName;
  26. }
  27. }
  28. /// <summary>
  29. /// sys_menu_authorize变成MenuAuthorize
  30. /// </summary>
  31. public static string GetClassNamePrefix(string tableName)
  32. {
  33. string[] arr = tableName.Split('_');
  34. StringBuilder sb = new StringBuilder();
  35. for (int i = 1; i < arr.Length; i++)
  36. {
  37. sb.Append(arr[i][0].ToString().ToUpper() + arr[i].Substring(1));
  38. }
  39. return sb.ToString();
  40. }
  41. public static string GetPropertyDatatype(string sDatatype)
  42. {
  43. string sTempDatatype = string.Empty;
  44. sDatatype = sDatatype.ToLower();
  45. switch (sDatatype)
  46. {
  47. case "int":
  48. case "number":
  49. case "integer":
  50. case "smallint":
  51. sTempDatatype = "int?";
  52. break;
  53. case "bigint":
  54. sTempDatatype = "long?";
  55. break;
  56. case "tinyint":
  57. sTempDatatype = "byte?";
  58. break;
  59. case "numeric":
  60. case "real":
  61. sTempDatatype = "Single?";
  62. break;
  63. case "float":
  64. sTempDatatype = "float?";
  65. break;
  66. case "decimal":
  67. case "numer(8,2)":
  68. sTempDatatype = "decimal?";
  69. break;
  70. case "bit":
  71. sTempDatatype = "bool?";
  72. break;
  73. case "date":
  74. case "datetime":
  75. case "datetime2":
  76. case "smalldatetime":
  77. sTempDatatype = "DateTime?";
  78. break;
  79. case "money":
  80. case "smallmoney":
  81. sTempDatatype = "double?";
  82. break;
  83. case "char":
  84. case "varchar":
  85. case "nvarchar2":
  86. case "text":
  87. case "nchar":
  88. case "nvarchar":
  89. case "ntext":
  90. default:
  91. sTempDatatype = "string";
  92. break;
  93. }
  94. return sTempDatatype;
  95. }
  96. }
  97. }