mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-04-05 17:37:58 +08:00
Synchronization code
This commit is contained in:
parent
be65f4fdb4
commit
26e6c213df
@ -183,10 +183,20 @@ namespace SqlSugar
|
||||
{
|
||||
sqlParameter.DmSqlType = DmDbType.Cursor;
|
||||
}
|
||||
if (IsSpOutPutParameter(sqlParameter))
|
||||
{
|
||||
sqlParameter.ParameterName = sqlParameter.ParameterName.Replace("@", ":");
|
||||
}
|
||||
++index;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private bool IsSpOutPutParameter(DmParameter sqlParameter)
|
||||
{
|
||||
return sqlParameter.Direction == ParameterDirection.Output && this.CommandType == CommandType.StoredProcedure;
|
||||
}
|
||||
|
||||
private static string[] KeyWord =new string []{ "@month", ":month", ":day","@day","@group", ":group",":index", "@index", "@order", ":order", "@user", "@level", ":user", ":level",":type","@type", ":year", "@year" };
|
||||
private static string ReplaceKeyWordParameterName(string sql, SugarParameter[] parameters)
|
||||
{
|
||||
|
@ -182,6 +182,10 @@ namespace SqlSugar
|
||||
}
|
||||
public override string DateValue(MethodCallExpressionModel model)
|
||||
{
|
||||
if (IsSqlServerModel(model))
|
||||
{
|
||||
return base.DateValue(model);
|
||||
}
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
var format = "dd";
|
||||
@ -361,6 +365,10 @@ namespace SqlSugar
|
||||
public override string ToString(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
if (IsSqlServerModel(model))
|
||||
{
|
||||
return base.ToString(model);
|
||||
}
|
||||
return string.Format(" CAST({0} AS VARCHAR)", parameter.MemberName);
|
||||
}
|
||||
|
||||
|
@ -38,7 +38,10 @@ namespace SqlSugar
|
||||
{
|
||||
csharpTypeName = csharpTypeName.Replace("mssql_", "");
|
||||
}
|
||||
|
||||
else if (csharpTypeName?.StartsWith("sys.") == true)
|
||||
{
|
||||
csharpTypeName = csharpTypeName.Replace("sys.", "");
|
||||
}
|
||||
return csharpTypeName;
|
||||
}
|
||||
|
||||
|
@ -30,8 +30,11 @@ namespace SqlSugar
|
||||
col_description(pclass.oid, pcolumn.ordinal_position) as ColumnDescription,
|
||||
case when pkey.colname = pcolumn.column_name
|
||||
then true else false end as IsPrimaryKey,
|
||||
case when pcolumn.column_default like 'nextval%'
|
||||
then true else false end as IsIdentity,
|
||||
CASE
|
||||
WHEN (current_setting('server_version_num')::INT >= 100000 AND pcolumn.is_identity = 'YES') THEN true
|
||||
WHEN pcolumn.column_default LIKE 'nextval%' THEN true
|
||||
ELSE false
|
||||
END AS IsIdentity,
|
||||
case when pcolumn.is_nullable = 'YES'
|
||||
then true else false end as IsNullable
|
||||
from (select * from pg_tables where upper(tablename) = upper('{0}') and schemaname='" + schema + @"') ptables inner join pg_class pclass
|
||||
|
@ -244,7 +244,7 @@ namespace SqlSugar
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
var parameter2Info = model.Parameters.FirstOrDefault(it => it.ParameterName.EqualCase(parameter2.MemberName + ""));
|
||||
var parameter2Info = model.Parameters?.FirstOrDefault(it => it.ParameterName.EqualCase(parameter2.MemberName + ""));
|
||||
if (parameter2Info!=null&¶meter2.MemberName?.ToString()?.StartsWith("@MethodConst")==true)
|
||||
{
|
||||
parameter2Info.Value = parameter2.MemberValue+"%";
|
||||
@ -257,7 +257,7 @@ namespace SqlSugar
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
var parameter2Info = model.Parameters.FirstOrDefault(it => it.ParameterName.EqualCase(parameter2.MemberName + ""));
|
||||
var parameter2Info = model.Parameters?.FirstOrDefault(it => it.ParameterName.EqualCase(parameter2.MemberName + ""));
|
||||
if (parameter2Info != null && parameter2.MemberName?.ToString()?.StartsWith("@MethodConst") == true)
|
||||
{
|
||||
parameter2Info.Value = "%"+parameter2.MemberValue ;
|
||||
@ -494,6 +494,15 @@ namespace SqlSugar
|
||||
return $" {model.Args[0].MemberName}::jsonb @> '[\"{model.Args[1].MemberValue}\"]'::jsonb ";
|
||||
}
|
||||
}
|
||||
public override string GetStringJoinSelector(string result, string separator)
|
||||
{
|
||||
if (result?.ToLower()?.Contains("distinct") == true)
|
||||
{
|
||||
return $"string_agg({result},'{separator}') ";
|
||||
}
|
||||
return $"string_agg(({result})::text,'{separator}') ";
|
||||
}
|
||||
|
||||
public override string JsonListObjectAny(MethodCallExpressionModel model)
|
||||
{
|
||||
if (UtilMethods.IsNumber(model.Args[2].MemberValue.GetType().Name))
|
||||
|
@ -131,7 +131,7 @@ namespace SqlSugar
|
||||
var type = value.GetType();
|
||||
if (type == UtilConstants.ByteArrayType||type == UtilConstants.DateType || columnInfo.IsArray || columnInfo.IsJson)
|
||||
{
|
||||
var parameterName = this.Builder.SqlParameterKeyWord + name + i;
|
||||
var parameterName = this.Builder.SqlParameterKeyWord + name+"_" + i;
|
||||
var paramter = new SugarParameter(parameterName, value);
|
||||
if (columnInfo.IsJson)
|
||||
{
|
||||
|
@ -45,7 +45,7 @@ namespace SqlSugar
|
||||
var type =UtilMethods.GetUnderType(value.GetType());
|
||||
if (type == UtilConstants.ByteArrayType||type == UtilConstants.DateType||columnInfo.IsArray||columnInfo.IsJson)
|
||||
{
|
||||
var parameterName = this.Builder.SqlParameterKeyWord + name + i;
|
||||
var parameterName = this.Builder.SqlParameterKeyWord + name +"_"+ i;
|
||||
var paramter = new SugarParameter(parameterName, value);
|
||||
if (columnInfo.IsJson)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user