From c7ff651b5b0db7b9dab09f87d2def35cef588d7b Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Mon, 29 May 2017 15:37:38 +0800 Subject: [PATCH] - --- .../DbBindProvider/IDataReaderEntityBuilder.cs | 2 +- .../Abstract/DbFirstProvider/DbFirstProvider.cs | 17 +++++++++++------ .../Abstract/DbFirstProvider/DbFirstTemplate.cs | 2 +- .../Realization/MySql/DbBind/MySqlDbBind.cs | 11 +++++++++-- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs b/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs index f41ca8240..f750afe11 100644 --- a/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs +++ b/SqlSugar/Abstract/DbBindProvider/IDataReaderEntityBuilder.cs @@ -164,7 +164,7 @@ namespace SqlSugar List dateThrow = bind.DateThrow; List shortThrow = bind.ShortThrow; MethodInfo method = null; - var transformedPropertyName = bind.ChangeDBTypeToCSharpType(dbTypeName); + var transformedPropertyName = bind.GetCSharpType(dbTypeName); var objTypeName = bindType.Name.ToLower(); var isEnum = bindType.IsEnum; if (isEnum) diff --git a/SqlSugar/Abstract/DbFirstProvider/DbFirstProvider.cs b/SqlSugar/Abstract/DbFirstProvider/DbFirstProvider.cs index 1f635ac4f..3834cf472 100644 --- a/SqlSugar/Abstract/DbFirstProvider/DbFirstProvider.cs +++ b/SqlSugar/Abstract/DbFirstProvider/DbFirstProvider.cs @@ -158,7 +158,6 @@ namespace SqlSugar string PropertyDescriptionText = DbFirstTemplate.PropertyDescriptionTemplate; string propertyName=GetPropertyName(item); string propertyTypeName = GetPropertyTypeName(item); - string proertypeDefaultValue = GetProertypeDefaultValue(item); PropertyText = GetPropertyText(item, PropertyText); PropertyDescriptionText = GetPropertyDescriptionText(item, PropertyDescriptionText); PropertyText = PropertyDescriptionText + PropertyText; @@ -167,11 +166,12 @@ namespace SqlSugar { ConstructorText = ConstructorText.Replace(DbFirstTemplate.KeyPropertyName, propertyName); ConstructorText = ConstructorText.Replace(DbFirstTemplate.KeyPropertyType, propertyTypeName); - ConstructorText = ConstructorText.Replace(DbFirstTemplate.KeyDefaultValue, proertypeDefaultValue)+(isLast?"":"\r\n"+DbFirstTemplate.KeyPropertyName); + ConstructorText = ConstructorText.Replace(DbFirstTemplate.KeyDefaultValue, GetPropertyTypeConvert(item)) +(isLast?"":"\r\n"+DbFirstTemplate.KeyPropertyName); } } } classText = classText.Replace(DbFirstTemplate.KeyConstructor, ConstructorText); + classText = classText.Replace(DbFirstTemplate.KeyPropertyName, null); result.Add(className, classText); } } @@ -232,13 +232,18 @@ namespace SqlSugar private string GetPropertyTypeName(DbColumnInfo item) { - string typeString = this.Context.Ado.DbBind.ChangeDBTypeToCSharpType(item.DataType); - if (typeString != "string" && item.IsNullable) + string result = this.Context.Ado.DbBind.GetCSharpType(item.DataType); + if (result != "string" && item.IsNullable) { - typeString += "?"; + result += "?"; } - return typeString; + return result; + } + private string GetPropertyTypeConvert(DbColumnInfo item) + { + string result = "(\""+GetProertypeDefaultValue(item) +"\")"; + return result; } private string GetPropertyDescriptionText(DbColumnInfo item, string propertyDescriptionText) diff --git a/SqlSugar/Abstract/DbFirstProvider/DbFirstTemplate.cs b/SqlSugar/Abstract/DbFirstProvider/DbFirstTemplate.cs index 9a88b4b25..af8f50684 100644 --- a/SqlSugar/Abstract/DbFirstProvider/DbFirstTemplate.cs +++ b/SqlSugar/Abstract/DbFirstProvider/DbFirstTemplate.cs @@ -35,7 +35,7 @@ namespace SqlSugar PropertySpace + "/// Nullable:{IsNullable}\r\n" + PropertySpace + "/// "; - public static string ConstructorTemplate = PropertySpace + "this.{PropertyName} =Convert.To{PropertyType}(\"{DefaultValue}\");\r\n"; + public static string ConstructorTemplate = PropertySpace + "this.{PropertyName} ={PropertyType}(\"{DefaultValue}\");\r\n"; public static string UsingTemplate = "using System;\r\n" + "using System.Linq;\r\n" + diff --git a/SqlSugar/Realization/MySql/DbBind/MySqlDbBind.cs b/SqlSugar/Realization/MySql/DbBind/MySqlDbBind.cs index eeba74c7b..f740464dc 100644 --- a/SqlSugar/Realization/MySql/DbBind/MySqlDbBind.cs +++ b/SqlSugar/Realization/MySql/DbBind/MySqlDbBind.cs @@ -1,8 +1,10 @@ -namespace SqlSugar +using System; + +namespace SqlSugar { public class MySqlDbBind : DbBindProvider { - public override string ChangeDBTypeToCSharpType(string typeName) + public override string GetCSharpType(string typeName) { string reval; switch (typeName.ToLower()) @@ -91,5 +93,10 @@ } return reval; } + + public override string GetCSharpConvert(string dbTypeName) + { + throw new NotImplementedException(); + } } }