Skip to content

Commit 357e52a

Browse files
committed
- 修复 InsertDict SqlServer 下的问题;
1 parent 09664cb commit 357e52a

File tree

4 files changed

+30
-11
lines changed

4 files changed

+30
-11
lines changed

Examples/base_entity/Program.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ public class Xpb
431431
{
432432
[Column(Name = "ID", IsPrimary = true)]
433433
public string Id { get; set; }
434-
[Column(Name = "XP")]
434+
[Column(Name = "XP", StringLength = -1)]
435435
public byte[] Bytes { get; set; }
436436
[Column(Name = "UPLOAD_TIME")]
437437
public DateTime UploadTime { get; set; }
@@ -543,14 +543,14 @@ static void Main(string[] args)
543543

544544
//.UseConnectionString(FreeSql.DataType.MySql, "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;Initial Catalog=cccddd;Charset=utf8;SslMode=none;min pool size=1;Max pool size=2")
545545

546-
//.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=3;TrustServerCertificate=true")
546+
.UseConnectionString(FreeSql.DataType.SqlServer, "Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Max Pool Size=3;TrustServerCertificate=true")
547547

548548
//.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=tedb;Pooling=true;Maximum Pool Size=2")
549549
//.UseConnectionString(FreeSql.DataType.PostgreSQL, "Host=192.168.164.10;Port=5432;Username=postgres;Password=123456;Database=toc;Pooling=true;Maximum Pool Size=2")
550550
//.UseNameConvert(FreeSql.Internal.NameConvertType.ToLower)
551551

552-
.UseConnectionString(FreeSql.DataType.Oracle, "user id=user1;password=123456;data source=//127.0.0.1:1521/XE;Pooling=true;Max Pool Size=2")
553-
.UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper)
552+
//.UseConnectionString(FreeSql.DataType.Oracle, "user id=user1;password=123456;data source=//127.0.0.1:1521/XE;Pooling=true;Max Pool Size=2")
553+
//.UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper)
554554

555555
//.UseConnectionString(FreeSql.DataType.Dameng, "server=127.0.0.1;port=5236;user id=2user;password=123456789;database=2user;poolsize=5;min pool size=1")
556556
//.UseNameConvert(FreeSql.Internal.NameConvertType.ToUpper)
@@ -622,9 +622,9 @@ static void Main(string[] args)
622622

623623
atimpl.GetTableNameByColumnValue(DateTime.Parse("2023-7-1"), autoExpand: true);
624624

625-
var dywhere = new DynamicFilterInfo { Field = "AspNetRoless.Name", Operator = DynamicFilterOperator.Equal, Value = "Admin" };
626-
var method = typeof(ISelect<object>).GetMethod("WhereDynamicFilter");
627-
var users4 = fsql.Select<AspNetUsers>().IncludeByPropertyName("AspNetUserRoless", then => then.WhereDynamicFilter(dywhere)).ToList();
625+
//var dywhere = new DynamicFilterInfo { Field = "AspNetRoless.Name", Operator = DynamicFilterOperator.Equal, Value = "Admin" };
626+
//var method = typeof(ISelect<object>).GetMethod("WhereDynamicFilter");
627+
//var users4 = fsql.Select<AspNetUsers>().IncludeByPropertyName("AspNetUserRoless", then => then.WhereDynamicFilter(dywhere)).ToList();
628628

629629

630630
var type = typeof(Student);
@@ -924,8 +924,8 @@ static void Main(string[] args)
924924

925925
var sqss = fsql.InsertDict(dic).AsTable("table1").ToSql();
926926
var sqss2 = fsql.InsertDict(diclist).AsTable("table1").ToSql();
927-
sqss = fsql.InsertDict(dic).AsTable("table1").NoneParameter(false).ToSql();
928-
sqss2 = fsql.InsertDict(diclist).AsTable("table1").NoneParameter(false).ToSql();
927+
sqss = fsql.InsertDict(dic).AsTable("table1").NoneParameter().ToSql();
928+
sqss2 = fsql.InsertDict(diclist).AsTable("table1").NoneParameter().ToSql();
929929

930930
dic["xxx"] = null;
931931
dic["yyy"] = 111;

FreeSql.DbContext/FreeSql.DbContext.xml

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

FreeSql/Internal/CommonProvider/UpdateProvider.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -622,7 +622,8 @@ public static void GetDictionaryTableInfo(T1 source, IFreeSql orm, ref TableInfo
622622
Attribute = new DataAnnotations.ColumnAttribute
623623
{
624624
Name = colName,
625-
MapType = colType
625+
MapType = colType,
626+
DbType = "", //for SqlServer: ncharDbTypes.Any(a => mapColumn.Attribute.DbType.Contains(a))
626627
},
627628
CsType = colType
628629
};

Providers/FreeSql.Provider.Dameng/DamengUtils.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,16 @@ public override string GetNoneParamaterSqlValue(List<DbParameter> specialParams,
118118
{
119119
if (value == null) return "NULL";
120120
if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
121-
if (type == typeof(byte[])) return $"hextoraw('{CommonUtils.BytesSqlRaw(value as byte[])}')";
121+
if (type == typeof(byte[]))
122+
{
123+
var valueBytes = value as byte[];
124+
if (valueBytes != null)
125+
{
126+
if (valueBytes.Length < 2000) return $"hextoraw('{CommonUtils.BytesSqlRaw(valueBytes)}')";
127+
var pam = AppendParamter(specialParams, $"p_{specialParams?.Count}{specialParamFlag}", col, type, value);
128+
return pam.ParameterName;
129+
}
130+
}
122131
return FormatSql("{0}", value, 1);
123132
}
124133
}

0 commit comments

Comments
 (0)