MySql bluk copy bool bug

This commit is contained in:
SUNKAIXUAN 2021-03-27 14:46:31 +08:00
parent d3733ffddb
commit 391015050d
2 changed files with 33 additions and 5 deletions

View File

@ -11,9 +11,9 @@ namespace OrmTest
{ {
public class Unit4ASDF public class Unit4ASDF
{ {
[SqlSugar.SugarColumn(ColumnDataType = " bigint(20)",IsNullable =true)] [SqlSugar.SugarColumn(ColumnDataType = " bigint(20)", IsNullable = true)]
public long? Id { get; set; } public long? Id { get; set; }
[SqlSugar.SugarColumn(ColumnDataType = " bigint(20)" )] [SqlSugar.SugarColumn(ColumnDataType = " bigint(20)")]
public long Id2 { get; set; } public long Id2 { get; set; }
} }
public static void Insert() public static void Insert()
@ -72,6 +72,12 @@ namespace OrmTest
} }
} }
Db.CodeFirst.InitTables<Testdbbool>();
Db.DbMaintenance.TruncateTable("Testdbbool");
Db.Insertable(new Testdbbool() { isok=true }).UseMySql().ExecuteBlueCopy();
Db.Insertable(new Testdbbool() { isok = false }).UseMySql().ExecuteBlueCopy();
var x=Db.Queryable<Testdbbool>().ToList();
} }
public class testdb public class testdb
@ -81,5 +87,12 @@ namespace OrmTest
public string id { get; set; } public string id { get; set; }
} }
public class Testdbbool
{
[SqlSugar.SugarColumn(IsPrimaryKey = true,IsIdentity =true)]
public int id { get; set; }
public bool isok { get; set; }
}
} }
} }

View File

@ -60,9 +60,9 @@ namespace SqlSugar
var name = p.Name; var name = p.Name;
if (entity.Columns.Any(it => it.PropertyName == name)) if (entity.Columns.Any(it => it.PropertyName == name))
{ {
name=entity.Columns.First(it => it.PropertyName == name).DbColumnName; name = entity.Columns.First(it => it.PropertyName == name).DbColumnName;
} }
row[name] = p.GetValue(item, null); row[name] = GetValue(p, item);
}); });
dt.Rows.Add(row); dt.Rows.Add(row);
} }
@ -169,7 +169,22 @@ namespace SqlSugar
sb.AppendLine(); sb.AppendLine();
} }
return sb.ToString(); return sb.ToString();
} }
private static object GetValue(PropertyInfo p, T item)
{
var result= p.GetValue(item, null);
if (result != null && UtilMethods.GetUnderType(p.PropertyType) == UtilConstants.BoolType)
{
if (result.ObjToBool() == false)
{
result = null;
}
}
return result;
}
#endregion #endregion
} }
} }