mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-19 01:58:13 +08:00
-
This commit is contained in:
@@ -36,7 +36,8 @@ namespace SqlSugar
|
||||
}
|
||||
}
|
||||
}
|
||||
public abstract string ChangeDBTypeToCSharpType(string typeName);
|
||||
public abstract string GetCSharpType(string dbTypeName);
|
||||
public abstract string GetCSharpConvert(string dbTypeName);
|
||||
|
||||
#endregion
|
||||
|
||||
|
@@ -163,9 +163,12 @@ namespace SqlSugar
|
||||
PropertyDescriptionText = GetPropertyDescriptionText(item, PropertyDescriptionText);
|
||||
PropertyText = PropertyDescriptionText + PropertyText;
|
||||
classText = classText.Replace(DbFirstTemplate.KeyPropertyName, PropertyText + (isLast?"":("\r\n" + DbFirstTemplate.KeyPropertyName)));
|
||||
ConstructorText = ConstructorText.Replace(DbFirstTemplate.KeyPropertyName,propertyName);
|
||||
ConstructorText = ConstructorText.Replace(DbFirstTemplate.KeyPropertyType, propertyTypeName);
|
||||
ConstructorText = ConstructorText.Replace(DbFirstTemplate.KeyDefaultValue, propertyName);
|
||||
if (ConstructorText.IsValuable()&&item.DefaultValue.IsValuable())
|
||||
{
|
||||
ConstructorText = ConstructorText.Replace(DbFirstTemplate.KeyPropertyName, propertyName);
|
||||
ConstructorText = ConstructorText.Replace(DbFirstTemplate.KeyPropertyType, propertyTypeName);
|
||||
ConstructorText = ConstructorText.Replace(DbFirstTemplate.KeyDefaultValue, proertypeDefaultValue)+(isLast?"":"\r\n"+DbFirstTemplate.KeyPropertyName);
|
||||
}
|
||||
}
|
||||
}
|
||||
classText = classText.Replace(DbFirstTemplate.KeyConstructor, ConstructorText);
|
||||
@@ -177,7 +180,16 @@ namespace SqlSugar
|
||||
|
||||
private string GetProertypeDefaultValue(DbColumnInfo item)
|
||||
{
|
||||
return item.Value.ObjToString();
|
||||
if (item.DefaultValue == null) return null;
|
||||
string result = item.DefaultValue.TrimStart('(').TrimEnd(')').TrimStart('\'').TrimEnd('\'');
|
||||
if (item.DefaultValue.GetType() == PubConst.DateType)
|
||||
{
|
||||
return result.ObjToDate().ToString("yyyy-MM-dd hh:mm:ss.fff");
|
||||
}
|
||||
else
|
||||
{
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
public void CreateClassFile(string directoryPath, string nameSpace = "Models")
|
||||
|
@@ -35,7 +35,7 @@ namespace SqlSugar
|
||||
PropertySpace + "/// Nullable:{IsNullable}\r\n" +
|
||||
PropertySpace + "/// </summary>";
|
||||
|
||||
public static string ConstructorTemplate = PropertySpace + "this.{$PropertyName} =Convert.To{PropertyType}(\"{DefaultValue}\");\r\n";
|
||||
public static string ConstructorTemplate = PropertySpace + "this.{PropertyName} =Convert.To{PropertyType}(\"{DefaultValue}\");\r\n";
|
||||
|
||||
public static string UsingTemplate = "using System;\r\n" +
|
||||
"using System.Linq;\r\n" +
|
||||
|
@@ -15,7 +15,8 @@ namespace SqlSugar
|
||||
List<string> DoubleThrow { get; }
|
||||
List<string> DateThrow { get; }
|
||||
List<string> ShortThrow { get; }
|
||||
string ChangeDBTypeToCSharpType(string typeName);
|
||||
string GetCSharpType(string dbTypeName);
|
||||
string GetCSharpConvert(string dbTypeName);
|
||||
List<T> DataReaderToList<T>(Type type, IDataReader reader, string fields);
|
||||
}
|
||||
}
|
||||
|
@@ -6,94 +6,194 @@ namespace SqlSugar
|
||||
{
|
||||
public class SqlServerDbBind : DbBindProvider
|
||||
{
|
||||
public override string ChangeDBTypeToCSharpType(string typeName)
|
||||
public override string GetCSharpType(string dbTypeName)
|
||||
{
|
||||
string reval = string.Empty;
|
||||
switch (typeName.ToLower())
|
||||
{
|
||||
case "int":
|
||||
reval = "int";
|
||||
break;
|
||||
case "text":
|
||||
reval = "string";
|
||||
break;
|
||||
case "bigint":
|
||||
reval = "long";
|
||||
break;
|
||||
case "binary":
|
||||
reval = "object";
|
||||
break;
|
||||
case "bit":
|
||||
reval = "bool";
|
||||
break;
|
||||
case "char":
|
||||
reval = "string";
|
||||
break;
|
||||
case "datetime":
|
||||
case "date":
|
||||
case "datetime2":
|
||||
reval = "dateTime";
|
||||
break;
|
||||
case "single":
|
||||
case "decimal":
|
||||
reval = "decimal";
|
||||
break;
|
||||
case "float":
|
||||
reval = "double";
|
||||
break;
|
||||
case "image":
|
||||
reval = "byte[]";
|
||||
break;
|
||||
case "money":
|
||||
reval = "decimal";
|
||||
break;
|
||||
case "nchar":
|
||||
reval = "string";
|
||||
break;
|
||||
case "ntext":
|
||||
reval = "string";
|
||||
break;
|
||||
case "numeric":
|
||||
reval = "decimal";
|
||||
break;
|
||||
case "nvarchar":
|
||||
reval = "string";
|
||||
break;
|
||||
case "real":
|
||||
reval = "float";
|
||||
break;
|
||||
case "smalldatetime":
|
||||
reval = "dateTime";
|
||||
break;
|
||||
case "smallint":
|
||||
reval = "short";
|
||||
break;
|
||||
case "smallmoney":
|
||||
reval = "decimal";
|
||||
break;
|
||||
case "timestamp":
|
||||
reval = "dateTime";
|
||||
break;
|
||||
case "tinyint":
|
||||
reval = "byte";
|
||||
break;
|
||||
case "uniqueidentifier":
|
||||
reval = "guid";
|
||||
break;
|
||||
case "varbinary":
|
||||
reval = "byte[]";
|
||||
break;
|
||||
case "varchar":
|
||||
reval = "string";
|
||||
break;
|
||||
case "Variant":
|
||||
reval = "object";
|
||||
break;
|
||||
default:
|
||||
reval = "other";
|
||||
break;
|
||||
}
|
||||
return reval;
|
||||
string reval = string.Empty;
|
||||
switch (dbTypeName.ToLower())
|
||||
{
|
||||
case "int":
|
||||
reval = "int";
|
||||
break;
|
||||
case "text":
|
||||
reval = "string";
|
||||
break;
|
||||
case "bigint":
|
||||
reval = "long";
|
||||
break;
|
||||
case "bit":
|
||||
reval = "bool";
|
||||
break;
|
||||
case "char":
|
||||
reval = "string";
|
||||
break;
|
||||
case "datetime":
|
||||
case "date":
|
||||
case "datetime2":
|
||||
reval = "dateTime";
|
||||
break;
|
||||
case "single":
|
||||
case "decimal":
|
||||
reval = "decimal";
|
||||
break;
|
||||
case "float":
|
||||
reval = "double";
|
||||
break;
|
||||
case "binary":
|
||||
case "image":
|
||||
reval = "byte[]";
|
||||
break;
|
||||
case "money":
|
||||
reval = "decimal";
|
||||
break;
|
||||
case "nchar":
|
||||
reval = "string";
|
||||
break;
|
||||
case "ntext":
|
||||
reval = "string";
|
||||
break;
|
||||
case "numeric":
|
||||
reval = "decimal";
|
||||
break;
|
||||
case "nvarchar":
|
||||
reval = "string";
|
||||
break;
|
||||
case "real":
|
||||
reval = "float";
|
||||
break;
|
||||
case "smalldatetime":
|
||||
reval = "dateTime";
|
||||
break;
|
||||
case "smallint":
|
||||
reval = "short";
|
||||
break;
|
||||
case "smallmoney":
|
||||
reval = "decimal";
|
||||
break;
|
||||
case "timestamp":
|
||||
reval = "dateTime";
|
||||
break;
|
||||
case "tinyint":
|
||||
reval = "byte";
|
||||
break;
|
||||
case "uniqueidentifier":
|
||||
reval = "guid";
|
||||
break;
|
||||
case "varbinary":
|
||||
reval = "byte[]";
|
||||
break;
|
||||
case "varchar":
|
||||
reval = "string";
|
||||
break;
|
||||
case "Variant":
|
||||
reval = "object";
|
||||
break;
|
||||
default:
|
||||
reval = "other";
|
||||
break;
|
||||
}
|
||||
return reval;
|
||||
}
|
||||
public override string GetCSharpConvert(string dbTypeName)
|
||||
{
|
||||
string reval = string.Empty;
|
||||
switch (dbTypeName.ToLower())
|
||||
{
|
||||
#region Int
|
||||
case "int":
|
||||
reval = "Convert.ToInt32";
|
||||
break;
|
||||
#endregion
|
||||
|
||||
#region String
|
||||
case "nchar":
|
||||
case "char":
|
||||
case "ntext":
|
||||
case "nvarchar":
|
||||
case "varchar":
|
||||
case "text":
|
||||
reval = "Convert.ToString";
|
||||
break;
|
||||
#endregion
|
||||
|
||||
#region Long
|
||||
case "bigint":
|
||||
reval = "Convert.ToInt64";
|
||||
break;
|
||||
#endregion
|
||||
|
||||
#region Bool
|
||||
case "bit":
|
||||
reval = "Convert.ToBoolean";
|
||||
break;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Datetime
|
||||
case "timestamp":
|
||||
case "smalldatetime":
|
||||
case "datetime":
|
||||
case "date":
|
||||
case "datetime2":
|
||||
reval = "Convert.ToDateTime";
|
||||
break;
|
||||
#endregion
|
||||
|
||||
#region Decimal
|
||||
case "smallmoney":
|
||||
case "single":
|
||||
case "numeric":
|
||||
case "money":
|
||||
case "decimal":
|
||||
reval = "Convert.ToDecimal";
|
||||
break;
|
||||
#endregion
|
||||
|
||||
#region Double
|
||||
case "float":
|
||||
reval = "Convert.ToDouble";
|
||||
break;
|
||||
#endregion
|
||||
|
||||
#region Byte[]
|
||||
case "varbinary":
|
||||
case "binary":
|
||||
case "image":
|
||||
reval = "byte[]";
|
||||
break;
|
||||
#endregion
|
||||
|
||||
#region Float
|
||||
case "real":
|
||||
reval = "Convert.ToSingle";
|
||||
break;
|
||||
#endregion
|
||||
|
||||
#region Short
|
||||
case "smallint":
|
||||
reval = "Convert.ToInt16";
|
||||
break;
|
||||
#endregion
|
||||
|
||||
#region Byte
|
||||
case "tinyint":
|
||||
reval = "Convert.ToByte";
|
||||
break;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Guid
|
||||
case "uniqueidentifier":
|
||||
reval = "Guid.Parse";
|
||||
break;
|
||||
#endregion
|
||||
|
||||
#region Null
|
||||
default:
|
||||
reval = null;
|
||||
break;
|
||||
#endregion
|
||||
}
|
||||
return reval;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user