diff --git a/Src/Asp.Net/SqlSugar/Realization/Kdbndp/DbBind/KdbndpBind.cs b/Src/Asp.Net/SqlSugar/Realization/Kdbndp/DbBind/KdbndpBind.cs index e870c7d2c..17b5763d6 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Kdbndp/DbBind/KdbndpBind.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Kdbndp/DbBind/KdbndpBind.cs @@ -99,6 +99,7 @@ namespace SqlSugar new KeyValuePair("name",CSharpDataType.@string), new KeyValuePair("text",CSharpDataType.@string), new KeyValuePair("char",CSharpDataType.@string), + new KeyValuePair("nchar",CSharpDataType.@string), new KeyValuePair("character",CSharpDataType.@string), new KeyValuePair("cidr",CSharpDataType.@string), new KeyValuePair("circle",CSharpDataType.@string), diff --git a/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpExpressionContext.cs b/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpExpressionContext.cs index 700a58eb5..c4f6f5000 100644 --- a/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpExpressionContext.cs +++ b/Src/Asp.Net/SqlSugar/Realization/Kdbndp/SqlBuilder/KdbndpExpressionContext.cs @@ -222,6 +222,10 @@ namespace SqlSugar public override string Contains(MethodCallExpressionModel model) { + if (IsSqlServerModel(model)) + { + return base.Contains(model); + } var parameter = model.Args[0]; var parameter2 = model.Args[1]; return string.Format(" ({0} like pg_catalog.concat('%',{1},'%')) ", parameter.MemberName, parameter2.MemberName); @@ -229,6 +233,10 @@ namespace SqlSugar public override string StartsWith(MethodCallExpressionModel model) { + if (IsSqlServerModel(model)) + { + return base.StartsWith(model); + } var parameter = model.Args[0]; var parameter2 = model.Args[1]; return string.Format(" ({0} like pg_catalog.concat({1},'%')) ", parameter.MemberName, parameter2.MemberName); @@ -236,6 +244,10 @@ namespace SqlSugar public override string EndsWith(MethodCallExpressionModel model) { + if (IsSqlServerModel(model)) + { + return base.EndsWith(model); + } var parameter = model.Args[0]; var parameter2 = model.Args[1]; return string.Format(" ({0} like pg_catalog.concat('%',{1}))", parameter.MemberName, parameter2.MemberName); @@ -300,6 +312,10 @@ namespace SqlSugar } public override string DateAddByType(MethodCallExpressionModel model) { + if (IsSqlServerModel(model)) + { + return base.DateAddByType(model); + } var parameter = model.Args[0]; var parameter2 = model.Args[1]; var parameter3 = model.Args[2]; @@ -312,6 +328,10 @@ namespace SqlSugar public override string DateAddDay(MethodCallExpressionModel model) { + if (IsSqlServerModel(model)) + { + return base.DateAddDay(model); + } var parameter = model.Args[0]; var parameter2 = model.Args[1]; return string.Format(" ({0} + ({1}||'day')::INTERVAL) ", parameter.MemberName, parameter2.MemberName); @@ -494,5 +514,11 @@ namespace SqlSugar } return $" to_char({dateValue},'{formatString}') "; } + + private static bool IsSqlServerModel(MethodCallExpressionModel model) + { + return model?.Conext?.SugarContext?.Context?.CurrentConnectionConfig?.MoreSettings?.DatabaseModel == DbType.SqlServer; + } + } } \ No newline at end of file