Synchronization code

This commit is contained in:
sunkaixuan
2025-02-28 11:41:45 +08:00
parent 71b9c7bfaf
commit 4f0b17ebfd
5 changed files with 33 additions and 2 deletions

View File

@@ -681,7 +681,7 @@ WHERE tgrelid = '" + tableName + "'::regclass");
if (IsSqlServerModel())
{
if (x.DataType=="int8")
if (x.DataType.EqualCase("int8"))
{
x.DataType = "bigint";
x.Length = 0;

View File

@@ -37,7 +37,14 @@ namespace SqlSugar
public override KeyValuePair<string, List<SugarParameter>> ToSql()
{
var result= base.ToSql();
return new KeyValuePair<string, List<SugarParameter>>(result.Key.Replace("$PrimaryKey", GetPrimaryKeys().FirstOrDefault()), result.Value);
if (GetPrimaryKeys()?.Any() == true)
{
return new KeyValuePair<string, List<SugarParameter>>(result.Key.Replace("$PrimaryKey", GetPrimaryKeys().FirstOrDefault()), result.Value);
}
else
{
return new KeyValuePair<string, List<SugarParameter>>(result.Key.Replace(" returning $PrimaryKey", ""), result.Value);
}
}
public override long ExecuteReturnBigIdentity()

View File

@@ -75,6 +75,10 @@ namespace SqlSugar
name = (mappingInfo == null ? name : mappingInfo.DbTableName);
if (name.Contains(".")&& !name.Contains("("))
{
if (SqlTranslationLeft.HasValue()&&SqlTranslationLeft==SqlTranslationRight)
{
return string.Join(".", name.ToUpper(IsUpper).Split('.').Select(it => SqlTranslationLeft + it.Replace(SqlTranslationLeft,"") + SqlTranslationRight));
}
return string.Join(".", name.ToUpper(IsUpper).Split('.').Select(it => SqlTranslationLeft + it + SqlTranslationRight));
}
else if (name.Contains("("))

View File

@@ -264,6 +264,10 @@ namespace SqlSugar
public override string DateIsSameDay(MethodCallExpressionModel model)
{
if (IsSqlServerModel(model))
{
return new SqlServerMethod().DateIsSameDay(model);
}
var parameter = model.Args[0];
var parameter2 = model.Args[1];
return string.Format(" ( to_char({0},'yyyy-MM-dd')=to_char({1},'yyyy-MM-dd') ) ", parameter.MemberName, parameter2.MemberName); ;
@@ -277,6 +281,10 @@ namespace SqlSugar
public override string DateIsSameByType(MethodCallExpressionModel model)
{
if (IsSqlServerModel(model))
{
return new SqlServerMethod().DateIsSameByType(model);
}
var parameter = model.Args[0];
var parameter2 = model.Args[1];
var parameter3 = model.Args[2];
@@ -352,12 +360,20 @@ namespace SqlSugar
public override string ToInt32(MethodCallExpressionModel model)
{
if (IsSqlServerModel(model))
{
return new SqlServerMethod().ToInt32(model);
}
var parameter = model.Args[0];
return string.Format(" CAST({0} AS INT4)", parameter.MemberName);
}
public override string ToInt64(MethodCallExpressionModel model)
{
if (IsSqlServerModel(model))
{
return new SqlServerMethod().ToInt64(model);
}
var parameter = model.Args[0];
return string.Format(" CAST({0} AS INT8)", parameter.MemberName);
}

View File

@@ -98,6 +98,10 @@ namespace SqlSugar
var isVarchar = this.Context.IsVarchar();
foreach (var parameter in parameters)
{
if (parameter.DbType==System.Data.DbType.Int64&&parameter.Value?.Equals("Result%")==true)
{
parameter.DbType = System.Data.DbType.AnsiString;
}
UNumber(parameter);
if (parameter.Value == null) parameter.Value = DBNull.Value;
if (parameter.Value is System.Data.SqlTypes.SqlDateTime && parameter.DbType == System.Data.DbType.AnsiString)