Skip to content

Commit 09664cb

Browse files
committed
- 修复 InsertOrUpdateDict Oracle byte[] 长度判断问题;#1462
1 parent 9a15a97 commit 09664cb

File tree

3 files changed

+15
-20
lines changed

3 files changed

+15
-20
lines changed

Examples/base_entity/Program.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -586,6 +586,14 @@ static void Main(string[] args)
586586
};
587587
fsql.InsertOrUpdate<Xpb>().SetSource(xp).ExecuteAffrows();
588588

589+
var xpsql01 = fsql.InsertOrUpdateDict(new Dictionary<string, object>
590+
{
591+
[""] = "Xpb",
592+
["ID"] = "L230355551",
593+
["UPLOAD_TIME"] = DateTime.Now,
594+
["XP"] = Convert.FromBase64String("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FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/9k=")
595+
}).WherePrimary("Id").ExecuteAffrows();
596+
589597
fsql.UseJsonMap();
590598

591599
var updatejoin01 = fsql.Update<User1>()

FreeSql.DbContext/FreeSql.DbContext.xml

Lines changed: 0 additions & 18 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: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -602,12 +602,17 @@ public static void GetDictionaryTableInfo(T1 source, IFreeSql orm, ref TableInfo
602602
table.Type = typeof(Dictionary<string, object>);
603603
table.CsName = dic.TryGetValue("", out var tryval) ? string.Concat(tryval) : "";
604604
table.DbName = table.CsName;
605+
if (orm.CodeFirst.IsSyncStructureToLower) table.DbName = table.DbName.ToLower();
606+
if (orm.CodeFirst.IsSyncStructureToUpper) table.DbName = table.DbName.ToUpper();
607+
605608
table.DisableSyncStructure = true;
606609
table.IsDictionaryType = true;
607610
var colpos = new List<ColumnInfo>();
608611
foreach (var kv in dic)
609612
{
610613
var colName = kv.Key;
614+
if (string.IsNullOrWhiteSpace(colName)) continue;
615+
var colType = kv.Value == null ? typeof(object) : kv.Value.GetType();
611616
if (orm.CodeFirst.IsSyncStructureToLower) colName = colName.ToLower();
612617
if (orm.CodeFirst.IsSyncStructureToUpper) colName = colName.ToUpper();
613618
var col = new ColumnInfo
@@ -617,9 +622,9 @@ public static void GetDictionaryTableInfo(T1 source, IFreeSql orm, ref TableInfo
617622
Attribute = new DataAnnotations.ColumnAttribute
618623
{
619624
Name = colName,
620-
MapType = typeof(object)
625+
MapType = colType
621626
},
622-
CsType = typeof(object)
627+
CsType = colType
623628
};
624629
table.Columns.Add(colName, col);
625630
table.ColumnsByCs.Add(kv.Key, col);

0 commit comments

Comments
 (0)